1、状态栏的提示:
(1)创建Action对象;
(2)将Action对象添加到菜单或是工具条。
2、状态栏的显示主要分为三种:
(1)临时信息显示;
(2)一般信息显示;
(3)永久信息显示。
/*1、菜单、工具条的状态栏提示*/ //创建QAction对象 openAction = new QAction("&Open",this); //设置快捷键 openAction->setShortcut(QKeySequence::Open); //状态栏提示 openAction->setStatusTip("Open a file"); //加载图标 openAction->setIcon(QIcon(":/QtStudy9/Resources/qt.PNG")); //connect(openAction,SIGNAL(triggered()),this,SLOT(open())); //把Action添加到菜单和工具条 QMenu* mfile = menuBar()->addMenu("&File"); mfile->addAction(openAction); QToolBar* tfile = addToolBar("&File"); tfile->addAction(openAction); /*2、状态栏的临时信息、一般信息、永久信息的显示*/ msgLable = new QLabel; msgLable->setMinimumSize(150,20/*msgLable->sizeHint()*/); msgLable->setAlignment(Qt::AlignHCenter); statusBar()->addWidget(msgLable); //statusBar()->showMessage("lin shi xin xi ",3000);//3s后关闭 QStatusBar* bar = statusBar(); //获取状态栏 QLabel* first_statusLabel = new QLabel; //新建标签 first_statusLabel->setMinimumSize(150,20); //设置标签最小尺寸 first_statusLabel->setFrameShape(QFrame::WinPanel); //设置标签形状 first_statusLabel->setFrameShadow(QFrame::Sunken); //设置标签阴影 QLabel* second_statusLabel = new QLabel; second_statusLabel->setMinimumSize(150,20); second_statusLabel->setFrameShape(QFrame::WinPanel); second_statusLabel->setFrameShadow(QFrame::Sunken); QLabel* third_statusLabel = new QLabel; QLabel* four_statusLabel = new QLabel; //显示一般信息栏 bar->addWidget(first_statusLabel); bar->addWidget(second_statusLabel); //显示永久信息栏 bar->addPermanentWidget(third_statusLabel); bar->insertPermanentWidget(3, four_statusLabel); first_statusLabel->setText(tr("status1")); //初始化内容 second_statusLabel->setText(tr("status2")); third_statusLabel->setText("yong jiu xin xi"); four_statusLabel->setText("four_statusLabel"); //最后显示临时信息 statusBar()->showMessage("lin shi xin xi ",3000);//3s后关闭
如果要消除状态栏中的竖线,添加语句:
statusBar()->setStyleSheet(QString("QStatusBar::item{border:0px}"));
如果要消除右下角控制点,添加语句:
statusBar()->setSizeGripEnabled(FALSE);