Qt mainWindow添加状态栏,菜单栏,工具栏的Action方法
connect(openAction,SIGNAL(triggered()),this,SLOT(open()));
/*QStatusBar继承自QWidget,因此它可以添加其他的QWidget。添加一个label为状态栏
*QMainWindow类里面就有一个statusBar()函数,用于实现状态栏的调用。
*类似menuBar()函数,如果不存在状态栏,该函数会自动 创建一个,如果已经创建则会返回这个状态栏的指针。如果你要替换掉已经存在的状态栏,
需要使用QMainWindow的setStatusBar()函 数
*/
msgLabel = new QLabel;
msgLabel->setMaximumSize(msgLabel->sizeHint());
msgLabel->setAlignment(Qt::AlignHCenter);
statusBar()->addWidget(msgLabel);
statusBar()->setStyleSheet(QString("QStatusBar::item{border: 0px}"));
/*
*QMainWindow有一个menuBar()函数,会返回菜单栏,。如果不存在会自动创建,如果已经存在就返回那个菜 单栏的指针。
*直接使用返回值添加一个菜单,也就是addMenu,参数是一个QString,也就是显示的菜单名字。然后使用这个QMenu指针添加这个QAction。
*/
QMenu *file = menuBar()->addMenu(tr("&File"));
file->addAction(openAction);
/*
*使用addToolBar函数的返回值添加了一个工具条,并且把这个QAction添加到了上面。
*/
QToolBar *toolBar = addToolBar(tr("&File"));
toolBar->addAction(openAction);
我们可以用
QStatusBar * QMainWindow::statusBar()
const
这个函数替代上面
msgLabel=
newQLabel;
msgLabel->setMaximumSize(msgLabel->sizeHint());
msgLabel->setAlignment(Qt::AlignHCenter);
statusBar()->addWidget(msgLabel);
statusBar()->setStyleSheet(QString("QStatusBar::item{border: 0px}"));
(这些代码是在状态栏上加上一个label)
这些代码。在最后toolBar->addAction(openAction);后加上statusBar();
这个函数的意义就是:Returns the status bar for the main window. This function creates and returns an empty status bar if the status bar does not exist.