介绍
- QMainWindow是一个为用户提供主窗口的类,包含一个菜单栏(menu bar)、多个工具栏(tool bars)、多个锚接部件(dock widgets)、一个状态栏(status bar)以及一个中心部件(central widget),是许多应用程序的基础,如文本编辑器,图片编辑器等。
各部件基本使用
代码
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include "QMenuBar"
#include "QToolBar"
#include "QPushButton"
#include "QStatusBar"
#include "QLabel"
#include "QDockWidget"
#include "QTextEdit"
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
, ui(new Ui::MainWindow)
{
ui->setupUi(this);
//菜单栏最多只有一个
//菜单栏创建
QMenuBar *bar = menuBar();
//将菜单栏放入到窗口中
setMenuBar(bar);
//创建菜单
QMenu *fileMenu = bar->addMenu("文件");
QMenu *editMenu = bar->addMenu("编辑");
//创建菜单项目
QAction *newAction = fileMenu->addAction("新建");
//添加分隔符
fileMenu->addSeparator();
QAction *openAction = 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(newAction);
//添加分割线
toolBar->addSeparator();
toolBar->addAction(openAction);
//工具栏中可以添加控件
QPushButton *btn = new QPushButton("a",this);
toolBar->addWidget(btn);
//状态栏 最多只有一个
QStatusBar *stBar = statusBar();
//放标签控件
QLabel *label = new QLabel("提示信息",this);
stBar->addWidget(label);
QLabel *label2 = new QLabel("右边提示信息",this);
stBar->addPermanentWidget(label2);
//铆接部件(浮动窗口) 可以有多个
QDockWidget *dockWidget = new QDockWidget("浮动",this);
//默认放到核心内容的下面
addDockWidget(Qt::BottomDockWidgetArea,dockWidget);
//设置后期的停靠区域
dockWidget->setAllowedAreas(Qt::TopDockWidgetArea | Qt::BottomDockWidgetArea);
//设置核心部件 只能有一个
QTextEdit *edit = new QTextEdit(this);
setCentralWidget(edit);
}
MainWindow::~MainWindow()
{
delete ui;
}
运行