Qt C++手动创建.ui文件并且与类进行绑定

前言:有的时候做一些新的窗口时,创建完.cpp和.h后发现没有.ui文件,有些控件纯代码实现就比较费时间,而且微调很麻烦。以下时近一段时间总结的手动给类创建.ui文件并且与所创建的类进行绑定。

1.首先需要在项目里添加一个Qt Designer Form

选择需要的控件类型,比如QStackedWidget类型。点击创建

2.在你想要创建ui的类的头文件.h里加上下面三行代码:

QT_BEGIN_NAMESPACE
namespace Ui { class Ui的类名; }
QT_END_NAMESPACE

之后添加一条头文件 #include ui_(类名).h  例如:

#include "ui_Test.h"

之后添加一个private权限的成员变量,之后可以通过这个成员变量来访问ui里的一些控件,从而做一些操作,具体格式代码为:

private:
    Ui::创建的objectName名称 * 你自己起的变量名;

 3.头文件的操作的结束了,之后来到对应的.cpp文件内。需要在构造函数参数的后面添加一句成员初始化列表来完成初始化:

, 刚才头文件里自己起的ui变量名 (new Ui::创建的objectName名称)

例如:

Level02::Level02(class Player * pla)
    :LevelBase()    //继承
    , Level02Ui(new Ui::Level02)    //初始化
{
    this->player = pla;
}

最后在构造函数里初始化ui界面 使用以下这段代码来进行初始化操作

    起的ui变量名->setupUi(this);

以上就是所有的步骤,在setupUi(this)的后面即可进行一些自己的操作来控制ui中所创建的一些控件。

  • 3
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
要在Widget使用一个新建的.ui文件,需要完成以下几个步骤: 1. 打开Qt Creator,选择“文件”菜单下的“新建文件或项目”,在“项目”窗口选择“Qt Widgets应用程序”,然后按照向导创建一个新的Qt项目。 2. 在Qt Creator打开.ui文件,然后在“编辑器”拖动需要使用的控件到窗口。 3. 在Qt Creator打开Widget的头文件(通常是widget.h),在的定义添加一个私有成员变量,用于存储从.ui文件载入的窗口控件。 4. 在Widget的构造函数,使用QUiLoader从.ui文件载入窗口控件,并将它们存储到Widget的私有成员变量。 5. 在Widget的析构函数,释放从.ui文件载入的窗口控件。 下面是一个示例代码,演示了如何在Widget使用一个新建的.ui文件: ```cpp #include "widget.h" #include "ui_widget.h" #include <QtUiTools/QUiLoader> #include <QFile> Widget::Widget(QWidget *parent) : QWidget(parent), ui(new Ui::Widget) { ui->setupUi(this); // 载入.ui文件 QUiLoader loader; QFile file(":/new/ui/MyWidget.ui"); file.open(QFile::ReadOnly); QWidget *widget = loader.load(&file, this); file.close(); // 将窗口控件存储到私有成员变量 m_label = widget->findChild<QLabel*>("label"); m_button = widget->findChild<QPushButton*>("button"); // 将窗口控件添加到Widget QVBoxLayout *layout = new QVBoxLayout(this); layout->addWidget(widget); } Widget::~Widget() { // 释放从.ui文件载入的窗口控件 delete m_label; delete m_button; delete ui; } ``` 在这个示例代码,我们在Widget添加了一个私有成员变量m_label和m_button,用于存储从.ui文件载入的窗口控件。在Widget的构造函数,我们使用QUiLoader从.ui文件载入窗口控件,并将它们存储到m_label和m_button。最后,我们将窗口控件添加到Widget,并在Widget的析构函数释放它们。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值