赞
踩
QStatusBar类提供一个水平条来显示状态信息。
所谓状态信息,拿个简单的例子来说,当你在word中编辑时,左下角就会出现页面、字数等等信息。
状态信息可以分为三类:
QMainWindow中默认提供了一个状态栏。
showMessage()
来显示一个临时消息
,它会出现在状态栏的最左边。addWidget()
将一个QLabel加到状态栏上用于显示正常信息
,它会生成到状态栏的最左边,可能会被临时消息覆盖。addPermanentWidget(
)来添加一个QLabel来在状态栏的最右边显示永久信息
。它不会被临时信息所掩盖。在状态栏的最右端还有一个QSizeGrip部件用来调整窗口大小,我们可以通过setSizeGripEnabled()函数来禁用它。也许你想通过使用Qt Designer来可视化地完成窗口布局。
但是事与愿违,目前的设计器还不支持直接向状态栏中拖放部件,所以我们就不能偷懒了,必须使用代码来设置了。
下面程序为对状态栏的测试程序,只需要编辑mainwindow的构造函数如下:不要忘记应包含相应的头文件
MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) { ui->setupUi(this); // QLabel *normal=new QLabel("正常信息",this); // ui->statusBar->addWidget(normal);//显示正常信息 ui->statusBar->setSizeGripEnabled(false);//去掉状态栏右下角的三角 ui->statusBar->showMessage(tr("临时信息!"),2000);//显示临时信息2000ms 前面的正常信息被覆盖 当去掉后一项时,会一直显示 QLabel *permanent=new QLabel(this); permanent->setFrameStyle(QFrame::Box|QFrame::Sunken); permanent->setText(tr("<a href=\"http://tengweitw.ueuo.com\">永久信息</a>")); permanent->setOpenExternalLinks(true);//设置可以打开网站链接 ui->statusBar->addPermanentWidget(permanent);//显示永久信息 }
显示结果如下:
消失了
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。