一、重置窗口的大小
1.在构造函数里进行窗口大小重置
//重置窗口大小
resize(600,400);
二、菜单栏
1.菜单栏最多只能有一个
2.菜单栏本身就在对象树上,窗口关闭时自己就释放了
//菜单栏最多只能有一个
//菜单栏创建
QMenuBar * bar = menuBar();
//将菜单栏放到窗口中
setMenuBar(bar);
//创建菜单
QMenu * filemenu = bar->addMenu(QString::fromLocal8Bit("文件"));
QMenu * editmenu = bar->addMenu(QString::fromLocal8Bit("编辑"));
//创建菜单项
filemenu->addAction(QString::fromLocal8Bit("新建"));
//添加分隔符
filemenu->addSeparator();
filemenu->addAction(QString::fromLocal8Bit("打开"));
三、工具栏
1.工具栏可以有多个
2.工具栏中可以添加按钮控件等
3.工具栏可以和菜单栏里的功能重复
//创建工具栏
//工具栏可以有多个
QToolBar * toolbar = new QToolBar(this);
//把工具栏添加在窗口中
addToolBar(toolbar);
//设置默认停靠在哪
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(QString::fromLocal8Bit("粘贴"),this);
toolbar->addWidget(btn);
四、状态栏
1.状态栏最多只能有一个
2.将标签控件放在状态栏里用来显示信息
//状态栏最多只有一个
//创建一个状态栏
QStatusBar * statusbar = statusBar();
//将状态栏设置到窗口中
setStatusBar(statusbar);
//放置标签控件(默认在左侧显示)
QLabel * label = new QLabel(QString::fromLocal8Bit("显示信息"),this);
statusbar->addWidget(label);
//放置标签栏在右侧
QLabel * label1 = new QLabel(QString::fromLocal8Bit("右侧显示信息"),this);
statusbar->addPermanentWidget(label1);
五、铆接部件(浮动窗口)
1.浮动窗口可以有多个
//浮动窗口可以有多个
QDockWidget * dockwidget = new QDockWidget(QString::fromLocal8Bit("浮动"),this);
addDockWidget(Qt::BottomDockWidgetArea,dockwidget);
//设置中心部件
QTextEdit * edit = new QTextEdit(this);
setCentralWidget(edit);
//浮动窗口后期设置停靠
dockwidget->setAllowedAreas(Qt::TopDockWidgetArea | Qt::LeftDockWidgetArea);
六、设置中心部件(位置位于中间)
setCentralWidget(edit);
七、总代码
#include "mainwindow.h"
#include <QMenuBar>
#include <QToolBar>
#include <QPushButton>
#include <QStatusBar>
#include <QLabel>
#include <QDockWidget>
#include <QTextEdit>
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
{
//重置窗口大小
resize(600,400);
//菜单栏最多只能有一个
/*****************菜单栏创建*****************/
QMenuBar * bar = menuBar();
//将菜单栏放到窗口中
setMenuBar(bar);
//创建菜单
QMenu * filemenu = bar->addMenu(QString::fromLocal8Bit("文件"));
QMenu * editmenu = bar->addMenu(QString::fromLocal8Bit("编辑"));
//创建菜单项
QAction * newaction = filemenu->addAction(QString::fromLocal8Bit("新建"));
//添加分隔符
filemenu->addSeparator();
QAction * openaction = filemenu->addAction(QString::fromLocal8Bit("打开"));
/*****************工具栏创建*****************/
//工具栏可以有多个
QToolBar * toolbar = new QToolBar(this);
//把工具栏添加在窗口中
addToolBar(toolbar);
//设置默认停靠在哪
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(QString::fromLocal8Bit("粘贴"),this);
toolbar->addWidget(btn);
/*****************状态栏创建*****************/
//状态栏最多只有一个
//创建一个状态栏
QStatusBar * statusbar = statusBar();
//将状态栏设置到窗口中
setStatusBar(statusbar);
//放置标签控件(默认在左侧显示)
QLabel * label = new QLabel(QString::fromLocal8Bit("显示信息"),this);
statusbar->addWidget(label);
//放置标签栏在右侧
QLabel * label1 = new QLabel(QString::fromLocal8Bit("右侧显示信息"),this);
statusbar->addPermanentWidget(label1);
/*****************铆接部件创建*****************/
//浮动窗口可以有多个
QDockWidget * dockwidget = new QDockWidget(QString::fromLocal8Bit("浮动"),this);
addDockWidget(Qt::BottomDockWidgetArea,dockwidget);
//设置中心部件
QTextEdit * edit = new QTextEdit(this);
setCentralWidget(edit);
//浮动窗口后期设置停靠
dockwidget->setAllowedAreas(Qt::TopDockWidgetArea | Qt::LeftDockWidgetArea);
}
MainWindow::~MainWindow()
{
}