qt 两界面类操作另外一个界面的的ui控件
1.在.h文件中,将ui从privete转移到public
1 public:
2 Ui::ParamSetting *ui;
2.在.cpp文件中,定义指针,并且在构造函数中写入:指针=this;
1 ParamSetting *paramSet;
2 ParamSetting::ParamSetting(QWidget *parent) :
3 QDialog(parent),
4 ui(new Ui::ParamSetting)
5 {
6 ui->setupUi(this);
7 paramSet = this;
3.在另外一个类中 .cpp文件 ,引入需要操作的ui头文件,以及引入指针。
1 #include "ui_paramsetting.h"
2 extern ParamSetting *paramSet;
4. 然后就可以操作了
paramSet->控件->set|....
5.坑
这时如果再在paramsetting的ui界面对控件添加槽函数,会出现如下提示:
the class containing “ui::XXX”cound not be found…Please verify the #include-directives
我的理解是:两处引入了"ui_paramsetting.h" ,系统不知道你要在哪里添加槽函数,注释掉后,就好了,添加完槽函数,再回来解开注释。