菜单栏和工具栏
在此处进行代码演示(相关理论在代码处有注释):
MainWindow.cpp
#include "mainwindow.h"
#include<QMenuBar>
#include<QToolBar>
#include<QPushButton>
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
{
resize(600,400);
//创建菜单栏
//菜单栏只有一个
QMenuBar *bar=menuBar();
//将菜单栏放入窗口中
setMenuBar(bar);
//创建菜单,等号左半部分不要也行,就是它会产生返回值
QMenu *fileMenu= bar->addMenu("文件");
QMenu *file= bar->addMenu("编辑");
//创建菜单项,等号左半部分可以不要,为了下面工具栏的演示才加上的
QAction * newAction=fileMenu->addAction("新建");
fileMenu->addAction("编辑啥啊");
//添加分隔线
fileMenu->addSeparator();
//工具栏;工具栏可以有多个
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();
//工具栏中添加一些控件
QPushButton *btn=new QPushButton("A",this);
toolbar->addWidget(btn);
}
MainWindow::~MainWindow()
{
}
注:
在心间项目的时候要选择一个空文件夹,然后再选择父类的时候选择MainWindow那个,不然使用menubar会报错。
状态栏
在此处进行代码演示(相关理论在代码处有注释):
MainWindow.cpp
#include "mainwindow.h"
#include<QMenuBar>
#include<QToolBar>
#include<QPushButton>
#include<QLabel>
#include<QStatusBar>
#include<QDockWidget>
#include<QTextEdit>
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
{
resize(600,400);
//创建菜单栏
//菜单栏只有一个
QMenuBar *bar=menuBar();
//将菜单栏放入窗口中
setMenuBar(bar);
//创建菜单,等号左半部分不要也行,就是它会产生返回值
QMenu *fileMenu= bar->addMenu("文件");
QMenu *file= bar->addMenu("编辑");
//创建菜单项,等号左半部分可以不要,为了下面工具栏的演示才加上的
QAction * newAction=fileMenu->addAction("新建");
fileMenu->addAction("编辑啥啊");
//添加分隔线
fileMenu->addSeparator();
//工具栏;工具栏可以有多个
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();
//工具栏中添加一些控件
QPushButton *btn=new QPushButton("A",this);
toolbar->addWidget(btn);
//状态栏,最多只能有一个
QStatusBar *stbar=statusBar();
//设置到窗口中
setStatusBar(stbar);
//在状态栏放标签控件
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()
{
}
资源文件的添加
重新创建一个新项目,在创建新项目的过程中不要出去ui的选项,选中按各选项,之后双击下图选中的选项,然后就可以在“设计“界面进行设计。
之后可以在其中进行拖拽和添加等操作,不用自己再手写代码了。
添加图片
1.可以选择再设计窗口进行添加
2.再代码中进行添加,此处与视频中讲述有出入,可能因版本不同具体的代码实现有一点出入。
视频中使用actionNew,本文具体实现的时候使用了actionef,使用视频中的会报错,下文代码可以正确运行。
详细代码:
#include "mainwindow.h"
#include "ui_mainwindow.h"
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
, ui(new Ui::MainWindow)
{
ui->setupUi(this);
//添加图标,
//ui->actionNew->setIcon(QIcon("D:/Imag/1.jpg"));
ui->actionef->setIcon(QIcon("D:/Imag/1.jpg"));
}
MainWindow::~MainWindow()
{
delete ui;
}
添加资源
右击选择再Explore,之后把图片文件复制粘贴进去。
右击选中文件选择添加新文件(add new)
按照下图所示选择
自己命名
如果不是上图这样子的就跟我的一样的话,就点击第一个
下一步添加文件
打开全选
然后资源添加成功
使用方法:
#include "mainwindow.h"
#include "ui_mainwindow.h"
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
, ui(new Ui::MainWindow)
{
ui->setupUi(this);
//添加图标,
//ui->actionNew->setIcon(QIcon("D:/Imag/1.jpg"));
ui->actionef->setIcon(QIcon("D:/Imag/1.jpg"));
//私用添加qt资源:":+前缀名+文件名"
ui->actionef->setIcon(QIcon(":/new/prefix1/Imag/2.jpg"));
}
MainWindow::~MainWindow()
{
delete ui;
}