vs创建qt项目加载不了ui文件

vs创建qt项目加载不了ui文件,第1张

1. 检查.pro文件中是否添加了UI文件,如果没有添加,则添加:

```

FORMS += mainwindow.ui

```

2. 检查.pro文件中是否添加了Qt资源文件,如果没有添加,则添加:

```

RESOURCES += resources.qrc

```

3. 检查.pro文件中是否添加了Qt模块,如果没有添加,则添加:

```

QT += widgets

```

首先vs要安装QT 插件。QT VS Tools

然后右键工程目录里面需要建立UI文件的文件夹,添加-》新建项,选择QT,出现QT UI模板,选择需要的。

然后加入对应的xx.h 和xx.cpp

DlgRooms.h

DlgRooms.cpp

之后还要添加到CMakeList.txt

OK 了。 UI文件在QT设计师中编辑。然后绑定信号,槽神马的就可以了。

opyright © 1999-2020, CSDN.NET, All Rights Reserved

打开APP

乄夵。

关注

Qt5中动态加载ui文件写的界面(用QtUiTools /QUiLoader实现) 原创

2022-09-13 10:42:00

乄夵。

码龄4年

关注

由QUiLoader类提供的表单加载器对象用于构造用户界面。这个用户界面可以从任何QIODevice中检索例如,QFile对象可用于获取存储在项目资源中的表单。QUiLoader::load()函数接受文件中包含的用户界面描述,并构造表单小部件。

使用QUiLoader 动态加载ui文件可以说是做到了,界面设计和逻辑的相互分离

QUiLoader的实用方法

QTabWidget *tab = new QTabWidget(this)

setCentralWidget(tab)

通过load函数即可根据.ui文件创建出一个对应的QWidget对象,后面的this指针是QWidget *类型的,你可以用其它窗体去作为formWidget的父窗体。父窗体被显示的时候,该formWidget窗体就会被显示,当然更好的方法是用一个QLayout来管理formWidget,因为父窗体可能不止一个子窗体,我这里作为一个演示,将QTabWidget作为窗体的父窗体。

如果你还想对cuteqt.ui中的那些子窗体信号作处理,那么可以用qFindChild去找到它们。

QWidget *leftPanel = Q_NULLPTR

leftPanel = formwidget ->findChild<QWidget *>(“leftPanel”)

ui_setButton = qFindChild<QPushButton*>(this, “setButton”)

ui_clearButton = qFindChild<QPushButton*>(this, “clearButton”)

ui_textEdit = qFindChild<QTextEdit*>(this, “textEdit”)

比如你可以用

connect(ui_setButton,SIGNAL(clicked()),this,SLOT(setButtonClicked()))处理ui_setButton的clicked()信号。

使用QUiLoader要检查pro文件加上CONFIG += uitools

在头文件引用#include <QtUiTools/QUiLoader>

file 中的:/f/test.ui 是需要添加到你的qrc资源文件当中的不然容易造成路径错误

An error has occurred while reading the UI file at line 1, column 0: Premature end of document.


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11589870.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-17
下一篇 2023-05-17

发表评论

登录后才能评论

评论列表(0条)

保存