[转]Qt状态栏(statusbar)的使用

Posted rainbow70626

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[转]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);//显示永久信息

参考:

  1. http://blog.csdn.net/tengweitw/article/details/22511521
  2. http://blog.csdn.net/u010002704/article/details/39060437



以上是关于[转]Qt状态栏(statusbar)的使用的主要内容,如果未能解决你的问题,请参考以下文章

delphi statusbar控件(状态栏)

Qt正常状态栏在临时状态后不显示

5.2.4 添加状态栏

statusBar状态栏_02

QT学习之路--菜单工具条状态栏

cordova StatusBar插件的使用(设置手机状态栏颜色和页面头部颜色一致),做出和原生一样的页面效果体验