this class://册消春弊就是pushbuttonSet所在的类
.h//州森知头文件
slots:
void OnBtnSet()
.cpp
void OnBtnSet(){
chatform.show()
}
在showwidget头文件里面定义了两个信号 void outsignal(int )void outsignal()在showwidget源文件里面定义了相关槽函数 然后在主窗口构造函数添加连接用来发出自定义信号 connect(ui->copyAction,SIGNAL(triggered()),ui->showwidget,SIGNAL(outsignal(1))) connect(ui->cutAction,SIGNAL(triggered()),ui->showwidget,SIGNAL(outsignal(2))) connect(ui->pasteAction,SIGNAL(triggered()),ui->showwidget,SIGNAL(outsignal(3)))发现喊或带参信号根本发不出去 然而我我连接了一个不带参信号却发出去被不带参槽函数接受到了 connect(ui->cutAction,SIGNAL(triggered()),ui->showwidget,SIGNAL(outsignal())) connect连接两个信号,郑尺伍怎么设置信号里面参数具体值?还是不能设置? 当然设置第一个信号的槽函数,在槽函数里面用emit发出一个具体参数是一定可行的 这样麻烦了点吧困猛 ——我喂自己袋盐 >>Mozilla/5.0 (X11Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.90 Safari/537.36opyright © 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条)