linuxqt如何使用uitools库

linuxqt如何使用uitools库,第1张

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.

有两种启动方式1.在软件中心安装的QT会在桌面创建QT的快捷方式,这时候可以直接双击打开2.使用命令在终端中打开。如果将QT的bin目录添加到系统的环境变量中之后。可以直接输入qtcreater打开(可以先输入qtcre然后按tab键检测是否加入环境变量)如果没加入环境变量,需要先找到QT的解压安装包的路径,然后进入bin目录使用./qtcreater打开QT

1,如果同时打开静态库和运行程序调用,调式模式下,可以进入静态库的内部函数进行调试;

2,其实不用把shadow build取消勾选;文件输出的文件就是lib***.a的文件,可以在shadow目录里面很方便找到;

3,新的项目使用的时候,就是让其能找到lib***.a,和该库的h头文件;

4,QT的编译输出的静态库名字会自动在项目名字前加lib三个字,后缀是.a;

5, QT5.15的编程的工程与该例子中缺少“需要什么模块就添加什么”的部分;


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

原文地址:https://54852.com/yw/7555700.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存