Qt小程序(二)-Qt Designer使用简单介绍

这篇博客介绍了如何使用Qt Designer创建用户界面,包括添加菜单、工具栏、图标、快捷键以及设置布局。通过拖放操作和设置属性,简化了界面设计过程,强调了布局管理和图标资源的使用,以实现更美观的窗口应用。

目录

前言

前面的Qt小程序(一)使用手动的方式创建的界面文件,这里使用ui文件创建一个界面文件

mainwindow.ui

打开mainwindow.ui,默认的窗口界面就有菜单栏工具栏中央窗口状态栏

  • 菜单栏可以直接输入菜单项,比如File。(注意:按回车表示成功创建一个菜单)
    File下可以通过回车建立这个菜单包含的操作action,比如New
    当我们创建action之后,在窗口管理器的下方就会有动作的一些属性。比如我创建的New动作,如图:
    1
    这时候,我们拖动这个action_New到工具栏,在工具栏就会有New这个按钮。
    1.1
    当然因为现在按钮没有对应的图标,所以显示的是文字。这时候就需要添加资源文件。
    选中action_New,在右侧选择icon,选择选择资源,然后添加对应的图标即可。注意:只有拖动到工具栏才会显示出icon
    1.2
    同理,选中action_New,在右侧选择shortcut,添入对应的快捷键
    同理,选择aciton New,右键转到槽,选择triggered,然后在mainwindow.cpp中就会出现需要写的槽函数。如图:
    1.3
    对应在mainwindow.h中也会有这个槽函数void on_action_New_triggered();

  • 菜单栏下面就是工具栏,我们可以右键添加工具栏

  • 对于中央窗口可以Text Edit作为中央窗口,直接拖拽一个Text Edit即可到布局管理器即可。
    注意:如果要设置Text Edit作为这个中央窗口,就需要设置布局。如果这时候直接右键Text Edit就会发现布局菜单的各种布局是灰色的,原因是布局是需要有参考的,我们需要设置主界面的布局,然后设置其他的窗口部件相对于主窗口的布局。
    2
    注意:点击的是主窗口,然后布局。之后才能设置Text Edit的布局。
    运行效果如图:
    3
    可以发现,Text Edit的边角太大,我们可以在窗口右侧先点击centralWidget,然后在右下角找到layoutLeftMargin等,通过设置Margin的大小来改变中央窗口部件里主窗口的距离。如图:
    4

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的界面设计器设计界面就写代码的方式简单很多,做好记录,以后用到的时候有个参照,都是为了提高效率!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值