环境:Windows10+Qt5
完善菜单
1.新建Qt Widgets应用,项目名称为myMainWindow1,基类选择QMainWindow,类名为MainWindow。
2.完成后,在设计模式添加菜单项,并添加资源文件,向其中添加菜单图标。最终各个菜单如下图所示。
工具栏添加菜单图标
右键添加工作栏
可以将动作编辑器中的动作拖动到工具栏中作为快捷图标使用,可以在工具栏上右击来添加分隔符。
布局管理器
1.从左边控件栏中拖入三个Push Button按钮和一个Vertical Layout(垂直布局管理器)到界面上
2.然后将三个按钮拖入到布局管理器中,这时三个按钮就会自动垂直排列,并且进行水平拉伸,无论如何改变布局管理器的大小,按钮总是水平方向变化。
3.我们可以选中布局管理器,然后按下上方工具栏中的“打破布局”按钮来删除布局管理器。(当然也可以先将三个按钮移出,然后按下Delete键来删除布局管理器,如果不移出按钮,那么会将它们同时删除。)
4.布局管理器除了可以对部件进行布局以外,还有个重要用途,就是使部件随着窗口的大小变化而变化。我们删除界面上的部件,然后拖入一个文本编辑器Text Edit部件。
5. 然后我们在界面上右击,选择布局→栅格布局(或者使用快捷键Ctrl+G)。这时整个文本编辑器部件就会填充中央区域,如下图所示。现在运行程序,可以发现,无论怎样拉伸窗口,文本编辑器总是填充整个中央区域
纯代码编写
1.首先在设计模式打破现有布局,即在界面上右击,然后选择“布局→打破布局”菜单项。然后在编辑模式打开mainwindow.cpp文件,在构建函数中添加代码如下所示
#include “mainwindow.h”
#include “ui_mainwindow.h”
#include
#include
#include
-
MainWindow::MainWindow(QWidget *parent)
-
QMainWindow(parent)
, ui(new Ui::MainWindow)
{
ui->setupUi(this);
QPushButton *btn = new QPushButton(this);
QLineEdit *le = new QLineEdit(this);
QGridLayout *layout = new QGridLayout;
layout->addWidget(btn,0,0,1,1);
layout->addWidget(le,0,1,1,2);
layout->addWidget(ui->textEdit,1,0,1,3);
ui->centralwidget->setLayout((layout));
}
MainWindow::~MainWindow()
{
delete ui;
}
之后不要再添加栅栏布局,运行即可得到