Qt入门-基于QMainWindow的窗体

来源:互联网 发布:php 序列化 编辑:程序博客网 时间:2024/05/21 06:47

     如果一个窗体包含一个或多个窗体,那么它们是父窗体和子窗体。

    没有父窗体的窗体是顶层窗体,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:返回状态栏。