目录
状态栏是应用程序中输出简要信息的区域。⼀般位于主窗口的最底部,⼀个窗⼝中最多只能有⼀个状态栏。在Qt中,状态栏是通过QStatusBar类来实现的。在状态栏中可以显示的消息类型有:
- 实时消息:如当前程序状态
- 永久消息:如程序版本号,机构名称
- 进度消息:如进度条提⽰,百分百提⽰
1.1 状态栏的创建
状态栏的创建是通过QStatusBar类提供的statusBar()函数来创建;示例如下:
//创建状态栏
QStatusBar *status = new QStatusBar();
this->setStatusBar(status);
此时运行程序,发现什么都没有,接下来我们让其显示输出一条临时消息:
//显示一个临时信息
status->showMessage("hello world");
1.2 在状态栏中显示实时消息
在状态栏中显⽰实时消息是通过showMessage()函数来实现,示例如下:
//在状态栏中显⽰实时消息
//通过showMessage函数可以在状态栏中显示一个文本
//此时这个文本存在时间可以自定义,timeout参数是一个单位为ms的时间
//如果timeout为0(即不填),消息就会持续存在
status->showMessage("hello world",2000);
1.3 在状态栏中显示永久消息
当然想在状态栏中可以显示永久消息,此处的永久消息是通过标签来显⽰的;示例如下:
//给状态栏添加自控件
QLabel *label1 = new QLabel("this is a qlabel");
status->addWidget(label1);
显示效果如下:
除此之外,我们还可以调整显⽰消息的位置
//将创建的标签 放入状态栏右侧
QLabel *label2 = new QLabel("label");
status->addPermanentWidget(label2); //从右往左添加控件
显示效果如下: