QT中拷贝一个项目的ui界面到另一个项目时Ui.h文件时Ui.h文件控件变量错乱问题解决

27 篇文章 20 订阅

qt中赋值另一个项目的ui时可能会产生在UI.h的界面文件中控件变量确实或错乱,这是可以去另一个项目的UI.h文件中赋值全部代码拷贝到错乱的UI.h中,然后修改
一下 void setupUi(QDialog *InstantAISettingsDialog)这个函数和相关函数

要在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类的析构函数释放它们。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值