QT创建mainWindow窗口组件
1.概述
这篇文章介绍创建一个mainWindow类型的窗口,为这个窗口添加菜单栏、工具栏、状态栏、浮动窗口等操作。
2.创建mainwindow窗口组件
通过QT创建一个mainwindow类型的窗口,然后在mainwindow.cpp
窗口中添加内容。
#include "mainwindow.h"
#include <QMenuBar>
#include <QToolBar>
#include <QStatusBar>
#include <QLabel>
#include <QDockWidget>
#include <QTextEdit>MainWindow::MainWindow(QWidget *parent): QMainWindow(parent)
{resize(600,400);/** 菜单栏* 在整个窗口中最多只能有一个*/// 创建菜单栏QMenuBar * bar = menuBar();// mac不显示菜单栏解决方法:添加这行就可以显示菜单栏bar->setNativeMenuBar(false);
// 菜单栏放到窗口setMenuBar(bar);
// 添加菜单QMenu * fileMenu = bar->addMenu("文件");QMenu * editMenu = bar->addMenu("编辑");// 添加菜单项QAction * fileAction = fileMenu->addAction("新建");fileMenu->addAction("打开");
// 添加分割线fileMenu->addSeparator();fileMenu->addAction("关闭");/** 工具栏* 在整个窗口中可以有多个*/
// 创建工具栏QToolBar * toolBar = new QToolBar(this);
// 工具栏添加到窗口,并制定它在窗口的位置addToolBar(Qt::LeftToolBarArea, toolBar);// 设置工具栏只能在左边和右边toolBar->setAllowedAreas(Qt::LeftToolBarArea | Qt::RightToolBarArea);// 设置工具栏是否浮动toolBar->setFloatable(false);// 设置工具栏是否可移动toolBar->setMovable(false);// 添加工具栏菜单
// 将菜单栏中的新建菜单项添加到工具栏中toolBar->addAction(fileAction);// 添加分割线toolBar->addSeparator();toolBar->addAction("编辑");/*状态栏* 在整个窗口中只能有一个*/
// 创建状态栏QStatusBar * st = statusBar();
// 状态栏添加到窗口setStatusBar(st);
// 标签控件QLabel * label = new QLabel("状态栏",this);
// 标签控件添加到状态栏st->addWidget(label);// 标签控件添加到右侧st->addPermanentWidget(label);/* 浮动窗口* 可以有多个*/
// 创建浮动窗口QDockWidget * dw = new QDockWidget("浮动窗口" ,this);
// 设置浮动窗口位置addDockWidget(Qt::BottomDockWidgetArea,dw);
// 限制浮动窗口停靠的位置dw->setAllowedAreas(Qt::TopDockWidgetArea | Qt::LeftDockWidgetArea);/*设置中心部件* 窗口中心内容区域,只能有一个*/QTextEdit * edit = new QTextEdit(this);setCentralWidget(edit);}MainWindow::~MainWindow()
{
}