目录
前言
前面的Qt小程序(一)使用手动的方式创建的界面文件,这里使用ui文件创建一个界面文件
mainwindow.ui
打开mainwindow.ui,默认的窗口界面就有菜单栏,工具栏,中央窗口和状态栏。
在菜单栏可以直接输入菜单项,比如File。(注意:按回车表示成功创建一个菜单)
在File下可以通过回车建立这个菜单包含的操作action,比如New。
当我们创建action之后,在窗口管理器的下方就会有动作的一些属性。比如我创建的New动作,如图:
这时候,我们拖动这个action_New到工具栏,在工具栏就会有New这个按钮。
当然因为现在按钮没有对应的图标,所以显示的是文字。这时候就需要添加资源文件。
选中action_New,在右侧选择icon,选择选择资源,然后添加对应的图标即可。注意:只有拖动到工具栏才会显示出icon。
同理,选中action_New,在右侧选择shortcut,添入对应的快捷键。
同理,选择aciton New,右键转到槽,选择triggered,然后在mainwindow.cpp中就会出现需要写的槽函数。如图:
对应在mainwindow.h中也会有这个槽函数void on_action_New_triggered();在菜单栏下面就是工具栏,我们可以右键添加工具栏。
- 对于中央窗口可以Text Edit作为中央窗口,直接拖拽一个
Text Edit即可到布局管理器即可。
注意:如果要设置Text Edit作为这个中央窗口,就需要设置布局。如果这时候直接右键Text Edit就会发现布局菜单的各种布局是灰色的,原因是布局是需要有参考的,我们需要设置主界面的布局,然后设置其他的窗口部件相对于主窗口的布局。
注意:点击的是主窗口,然后布局。之后才能设置Text Edit的布局。
运行效果如图:
可以发现,Text Edit的边角太大,我们可以在窗口右侧先点击centralWidget,然后在右下角找到layoutLeftMargin等,通过设置Margin的大小来改变中央窗口部件里主窗口的距离。如图:
Qt代码
- main.cpp
#include "mainwindow.h"
#include <QApplication>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
MainWindow w;
w.show();
return a.exec();
}
- mainwindow.h
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
namespace Ui {
class MainWindow;
}
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
explicit MainWindow(QWidget *parent = 0);
~MainWindow();
private slots:
void on_action_New_triggered();
private:
Ui::MainWindow *ui;
};
#endif // MAINWINDOW_H
- mainwindow.cpp
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QMessageBox>
#include <QLabel>
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
QLabel* tipLabel = new QLabel(tr("ready"));
ui->statusBar->addWidget(tipLabel);
}
MainWindow::~MainWindow()
{
delete ui;
}
void MainWindow::on_action_New_triggered()
{
QMessageBox msgBox;
msgBox.setText(tr("New"));
msgBox.exec();
}
总结
Qt的界面设计器设计界面就写代码的方式简单很多,做好记录,以后用到的时候有个参照,都是为了提高效率!!!
这篇博客介绍了如何使用Qt Designer创建用户界面,包括添加菜单、工具栏、图标、快捷键以及设置布局。通过拖放操作和设置属性,简化了界面设计过程,强调了布局管理和图标资源的使用,以实现更美观的窗口应用。

1641

被折叠的 条评论
为什么被折叠?



