```
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.
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)