如果一个窗体包含一个或多个窗体,那么它们是父窗体和子窗体。
没有父窗体的窗体是顶层窗体,QMainWindow是一个顶层窗体,并且它可以作为一个窗体。它可以包含很多界面元素,如菜单、工具栏、子窗体、状态栏等。
例如添加菜单:
void MainWindow::createMenus()
{
fileMenu = menuBar()->addMenu(tr("&File"));
fileMenu->addAction(newAct);
fileMenu->addAction(openAct);
fileMenu->addAction(saveAct);
添加工具栏:
void MainWindow::createToolBars()
{
fileToolBar = addToolBar(tr("File"));
fileToolBar->addAction(newAct);
QMainWindow从QWidget继承,它拥有它的所有派生方法和属性。
class Q_GUI_EXPORT QMainWindow : public QWidget
{
Q_OBJECT
(1) QMainWindow::QMainWindow ( QWidget * parent = 0, Qt::WindowFlags flags = 0 ):构造函数,参数1指定父窗体,为0时是顶层窗体;参数2指定属性。
(2) void QMainWindow::addToolBar:添加一个工具栏。
(3) QWidget * QMainWindow::centralWidget ():返回中心的一个widget,未设置时返回为NULL。
(4) QMenuBar * QMainWindow::menuBar () const:返回主窗体的菜单栏。
(5) void QMainWindow::setCentralWidget ( QWidget * widget ):设置窗体中心的widget。
(6) void QMainWindow::setStatusBar ( QStatusBar * statusbar ):设置一个状态栏。
(7) QStatusBar * QMainWindow::statusBar () const:返回状态栏。