天天看点

C++桌面应用开发(Qt学习)——QMainWindow(2)

作者:小小鸣吖

QMainWindow(2)

状态栏

  • 状态栏最多有一个,在窗口最下侧
    • QStatusBar * statusBar= new QStatusBar(this);
    • 设置到窗口中 setStatusBar(statusBar);
    • statusBar->addWidget(label);放左侧信息

代码如下:

···

//状态栏 最多一个,在窗口最下侧
    QStatusBar *statusBar = new QStatusBar(this);
    //放入到窗口中
    setStatusBar(statusBar);
    //放标签控件,默认左边开始
    QLabel *infoLabel = new QLabel("提示信息",this);
    statusBar->addWidget(infoLabel);
    //从右边开始 放入
    QLabel *infoLabel2 = new QLabel("右侧提示信息",this);
    statusBar->addPermanentWidget(infoLabel2);           

运行结果:

C++桌面应用开发(Qt学习)——QMainWindow(2)

铆接部件

  • 铆接部件(浮动窗口),可以多个
    • QDockWidget
    • addDockWidget( 默认停靠区域,浮动窗口指针)
    • 设置后期停靠区域

代码如下:

···

//铆接部件
    QDockWidget *dockWidget = new QDockWidget("浮动",this);
    addDockWidget(Qt::BottomDockWidgetArea,dockWidget);
    //设置只允许在上下
    dockWidget->setAllowedAreas(Qt::TopDockWidgetArea | Qt::BottomDockWidgetArea);           

运行结果:

C++桌面应用开发(Qt学习)——QMainWindow(2)

中心部件

  • 中心部件 只能一个
    • setCentralWidget(edit);

代码如下:

···

QTextEdit *edit = new QTextEdit("中心",this);
    setCentralWidget(edit);           

运行结果:

C++桌面应用开发(Qt学习)——QMainWindow(2)

总结:一个MainWindow内有多个部件:MenuBar、ToolBar、StatusBar、DockWidget以及CentralWidget

其中:部件可以有多个时,加入窗口方法为add,如:addToolBar、addDockWidget。部件只能有一个时,使用set方法,如:setMenuBar,setStatusBar,setCentralWidget

继续阅读