目录
菜单栏
工具栏
代码
mainwindow.cpp
结果
状态栏
铆接部件
核心部件
代码
mainwindow.cpp
结果
资源文件
代码
mainwindow.cpp
结果
菜单栏
只能有一个
menuBar()返回一个QMenuBar *bar
将bar放入到窗口中setMenuBar(bar)
添加菜单addMenu("文件")
添加菜单项addAction("新建")
分割线addSeparator()
工具栏
可以多个
QToolBar
addToolBar(停靠位置,toolbar)
设置停靠、浮动、移动
工具栏也可以添加菜单项
也添加分割线
代码
mainwindow.cpp
#include "mainwindow.h"
#include <QMenuBar>
#include <QToolBar>
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
{
resize(600,400);
//包含菜单栏,只能有一个
QMenuBar *bar=menuBar();
//将菜单栏放入到窗口中
this->setMenuBar(bar);
//创建文件菜单
QMenu *fileMenu=bar->addMenu("文件");
QMenu *editMenu=bar->addMenu("编译");
//添加菜单项
QAction *XinJian=fileMenu->addAction("新建");
fileMenu->addSeparator();//添加分割线
QAction *DaKai=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(XinJian);
toolBar->addSeparator();//添加分割线
toolBar->addAction(DaKai);
}
MainWindow::~MainWindow()
{
}
结果
状态栏
只能有一个
statusBar()返回QStatus *sBar
addStatusBar(sBar)
添加内容addWidget(QLabel)
添加右侧信息
铆接部件
可以有多个
QDockWidget
addDockWidget(停靠位置,...)
后期设置停靠
核心部件
只能有一个
setCentralWidget()
代码
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();
//将菜单栏放入到窗口中
this->setMenuBar(bar);
//创建文件菜单
QMenu *fileMenu=bar->addMenu("文件");
QMenu *editMenu=bar->addMenu("编译");
//添加菜单项
QAction *XinJian=fileMenu->addAction("新建");
fileMenu->addSeparator();//添加分割线
QAction *DaKai=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(XinJian);
toolBar->addSeparator();//添加分割线
toolBar->addAction(DaKai);
//状态栏,只能有一个
QStatusBar *stBar=statusBar();
setStatusBar(stBar);
QLabel *label=new QLabel("提示信息",this);
stBar->addWidget(label);//添加提示信息到左侧
QLabel *label2=new QLabel("右侧提示信息",this);
stBar->addPermanentWidget(label2);
//铆接部件 浮动窗口可以有多个
QDockWidget *dock=new QDockWidget;
//添加铆接部件到窗口中
addDockWidget(Qt::BottomDockWidgetArea,dock);
//设置停靠范围
dock->setAllowedAreas(Qt::TopDockWidgetArea|Qt::BottomDockWidgetArea);
//核心部件,只能一个
QTextEdit *edit=new QTextEdit;//文本编辑框
setCentralWidget(edit);
}
MainWindow::~MainWindow()
{
}
结果
资源文件
将使用的图片资源放入项目中
右键项目->添加新文件->Qt->QtResourceFile
起名称ZiYuan_WenJian,生成ZiYuan_WenJian.qrc文件
右键ZiYuan_WenJian.qrc->open in editor
添加前缀,添加文件
使用":+前缀名+文件名"
代码
mainwindow.cpp
#include "mainwindow.h"
#include "ui_mainwindow.h"
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
, ui(new Ui::MainWindow)
{
ui->setupUi(this);
//通过ui寻找控件
//ui->action_XinJian->setIcon(QIcon("/home/cet/Qt/JiaoCheng/4/TuPian/a1.png"));//本地路径
//使用资源文件 ":+前缀名+文件名"
ui->action_XinJian->setIcon(QIcon(":/TuPian/a1.png"));
ui->action_DaKai->setIcon(QIcon(":/TuPian/a2.png"));
}
MainWindow::~MainWindow()
{
delete ui;
}