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" ,系統不知道你要在哪里添加槽函數,注釋掉后,就好了,添加完槽函數,再回來解開注釋。