Qt 两界面类操作另外一个界面的的ui控件;以及会出现的the class containing “ui::XXX”cound not be found...Please verify the .

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" ,系统不知道你要在哪里添加槽函数,注释掉后,就好了,添加完槽函数,再回来解开注释。

原文地址:https://www.cnblogs.com/ybqjymy/p/15405900.html