QT创建mainWindow窗口组件
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()
{
}