Qt绑定UI界面和Qt类的四种方法

Qt绑定UI界面和Qt类的四种方法

Qt绑定UI界面和Qt类的四种方法

1、

Qt类头文件中

声明命名空间

namespace Ui {

class Widget;

}

声明UI指针对象

public:

explicit Widget(QWidget *parent = 0);

private:

Ui::Widget *ui;

源文件的构造函数初始化列表中初始化指针:

Widget::Widget(QWidget *parent) :

QWidget(parent),

ui(new Ui::Widget)

{...}

设置UI之后就可以用ui指针调用UI控件了:

ui->setupUi(this);

//一定要在setupUi之后

ui->pushButton->setToolTip("666");

2、

Qt类头文件中直接声明UI对象

private:

Ui::MyForm form;

Qt类源文件构造函数中设置UI后,可通过此对象调用UI控件

form.setupUi(this);

form.btnDel->setEnabled(false);

3、

Qt类头文件中

class Form : public QWidget, private Ui::Form

{public:

explicit Form(QWidget *parent = 0);

...

}

源文件可直接调用UI控件:

setupUi(this);

pushButton->setToolTip("666");

Qt Creater系统默认为第一种方法,但其他两种方法也可行。

4、VS&Qt使用的方法:

头文件中:

#include "ui_sokit.h"

...

class Sokit :public QWidget

{

Q_OBJECT

public:

explicit Sokit(QWidget *parent = 0);

private:

Ui::sokit ui;//这里的sokit对应设计师界面的objectname值

......

}

源文件中:

#include "sokit.h"

Sokit::Sokit(QWidget *parent) :QWidget(NULL)

{

ui.setupUi(this);

ui.label->setText("666");//注意这里和QtCreater的区别

......

}

————————————————

版权声明:本文为CSDN博主「52_赫兹的鲸」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/qq_40194498/article/details/80820467

=======================

Qt问题:将类与ui界面关联

Qt 项目创建后添加 ui 有两个方法:

添加Qt 设计师界面类,包含:类的.cpp、.h 和一个 ui 界面

当已经实现类逻辑时,可以通过 Qt Designer Form 为已有类添加一个 ui

最近使用 Qt 时有以上第二点的需求,但创建好 ui 之后,发现 ui 与类一直没有绑定,ui 上的控件通过 类中的 ui 指针一直获取不到,参考以下解决方案:

添加UI文件及在相应文件中加入实现.

参考第3/4步解决没有绑定的坑.

总结:

添加 ui 文件,并在待绑定的类的 cpp/h 文件中加入新的 ui 依赖

在新加 ui 文件时的命名需要与待绑定的类名一致,否则后续就需要修改 xxx.ui 文件中的内容

相关推荐

狐狸 fox^^ 小莫寫的小説全本免費TXT小説下載-狐狸 fox^^ 小莫在2021年創作31本小説-狐狸 fox^^ 小莫於2025年寫的原創佳作有哪些
笔记本电池更换需要多少钱(换个笔记本电池一般多少钱)
大六壬取象:玄武之解读
苹果5S手机怎样设置手机横屏?
英雄联盟 VTG战队
超真实分享:一个人去酒吧的经验+注意事项