[转]Qt状态栏(statusbar)的使用
状态栏显示的信息分3种
1. 一般信息,用QLabel 代表
2. 永久信息,文本会一直显示在状态栏的最右边。
3. 临时信息,指定信息现实的时间。时间到即信息消失
QLabel *locationLabel; locationLabel = new QLabel("July"); locationLabel->setAlignment(Qt::AlignCenter); locationLabel->setMinimumSize(locationLabel->sizeHint()); QLabel *aixLabel; aixLabel = new QLabel("\"CTRL + H\" for help"); //Optional statusBar()->setStyleSheet(QString("QStatusBar::item{border: 0px}")); // 设置不显示label的边框 statusBar()->setSizeGripEnabled(false); //设置是否显示右边的大小控制点 statusBar()->addWidget(locationLabel); statusBar()->addWidget(aixLabel, 1); QLabel *per1 = new QLabel("Ready1", this); QLabel *per2 = new QLabel("Ready2", this); QLabel *per3 = new QLabel("Ready3", this); statusBar()->addPermanentWidget(per1); //现实永久信息 statusBar()->addPermanentWidget(per2); statusBar()->insertPermanentWidget(2, per3); statusBar()->showMessage("Status is here...", 3000); // 显示临时信息,时间3秒钟.
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);//显示永久信息
【参考:】