QT 笔记3 | Qt设计师使用 Qt创造器使用

六、 Qt设计师使用(designer)

案例1:使用设计师重构加法计算器

1 创建工程目录
mkdir Calculator2
2 进入工程目录,执行“designer”启动设计师
1)在新建窗体界面,选择模板(父窗口):“Dialog without Buttons”
2)在设计师界面中完成ui设计
–》从“Widget Box”里面找到需要使用控件,拖拽到父窗口上面
PushButton(1个) LineEdit(3个) Label(1个)
–》设置父窗口和每个控件的属性
父窗口(QDialog):
objectName(对象名):CalculatorDialog
注:将来会根据父窗口的对象名生成一个名字相同类,包含在设计师完成的所有代码
font(字体):点大小(20)
windowTitle(标题):加法计算器
左操作数(QLineEdit)
objectName:m_editX
alignment:水平(AlignRight)
右操作数(QLineEdit)
objectName:m_editY
alignment:水平(AlignRight)
显示结果(QLineEdit)
objectName:m_editZ
alignment:水平(AlignRight)
readOnly(只读):勾选√
加号标签:
objectName:m_label
text:"+"
等号按钮:
objectName:m_button
enabled:去掉勾选√(禁用)
text:"="
–》调整父窗口和控件的大小和位置
方法1:鼠标拖拽
方法2:键盘,调整位置(方向键、ctrl+方向键) 调整大小(shitf+方向键、ctrl+shift+方向键)
方法3:设置geometry属性,调整位置(x,y) 大小(宽度,高度)
方法4:使用布局器自动调整 //推荐
–》窗体预览
–》保存(ctrl+s),指定文件名“CalculatorDialog.ui”
–》关闭,最终在工程目录下得到一个"CalculatorDialog.ui"文件

3 使用界面编辑器(uic),将“CalculatorDialog.ui(xml)”转换为“ui_CalculatorDialog.h(c++)”
1)转换命令
uic CalculatorDialog.ui -o ui_CalculatorDialog.h
2)转换后“ui_CalculatorDialog.h”文件内容
class Ui_CalculatorDialog{
public:
图形控件相关对象指针声明;
void setupUi(QDialog*){//界面初始化
创建图形控件、属性设置…
}
};
namespace Ui{
class CalculatorDialog:public Ui_CalculatorDialog{};
}
注:Ui名字空间的子类(Ui::CalculatorDialog)和上面基类(Ui_CalculatorDialog)相同

4 使用“ui_CalculatorDialog.h”文件,复用里面代码方法
1)方法1:继承
class MyClass:public Ui::CalculatorDialog{
//将界面相关代码继承过来直接使用
};
2)方法2:组合
class MyClass{
public:
MyClass():ui(new Ui::CalculatorDialog){}
private:
//通过“ui->”访问和界面相关代码
Ui:: CalculatorDialog* ui;
};
5 编写代码、构建、测试
1)继承方式,参考Calculator2.
ui_CalculatorDialog.h

/********************************************************************************
** Form generated from reading UI file 'CalculatorDialog.ui'
**
** Created by: Qt User Interface Compiler version 5.4.1
**
** WARNING! All changes made in this file will be lost when recompiling UI file!
********************************************************************************/

#ifndef UI_CALCULATORDIALOG_H
#define UI_CALCULATORDIALOG_H

#include <QtCore/QVariant>
#include <QtWidgets/QAction>
#include <QtWidgets/QApplication>
#include <QtWidgets/QButtonGroup>
#include <QtWidgets/QDialog>
#include <QtWidgets/QHBoxLayout>
#include <QtWidgets/QHeaderView>
#include <QtWidgets/QLabel>
#include <QtWidgets/QLineEdit>
#include <QtWidgets/QPushButton>

QT_BEGIN_NAMESPACE

class Ui_CalculatorDialog
{
   
public:
    QHBoxLayout *horizontalLayout;
    QLineEdit *m_editX;
    QLabel *m_label;
    QLineEdit *m_editY;
    QPushButton *m_button;
    QLineEdit *m_editZ;

    void setupUi(QDialog *CalculatorDialog)
    {
   
        if (CalculatorDialog->objectName().isEmpty())
            CalculatorDialog->setObjectName(QStringLiteral("CalculatorDialog"));
        CalculatorDialog->resize(535, 150);
        QFont font;
        font.setPointSize(20);
        font.setBold(false);
        font.setWeight(50);
        CalculatorDialog->setFont(font);
        CalculatorDialog->setAcceptDrops(false);
        horizontalLayout = new QHBoxLayout(CalculatorDialog);
        horizontalLayout->setObjectName(QStringLiteral("horizontalLayout"));
        m_editX = new QLineEdit(CalculatorDialog);
        m_editX->setObjectName(QStringLiteral("m_editX"));
        m_e
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值