[quote=引用 6 楼 foxyz 的回复:] 你的想法其实感觉上可以,但是其实你会发现这么用很僵化!。 我也曾经碰到过这种情况,尽量还是MVC来的更低耦合些。首先,你要用到第一个UI的设计类 Ui::MainWindow, 那么你就得包含相关的自动生成的头文件ui_xxx.h,这个文件万一改个名字你就得 重新编译。其次,你的其他UI还得保证不会重名,也就是你不能在namespace Ui里再增加一个class MainWindow 也不能再有一个Ui_MainWindow. 如果你必须用,比较简单的办法是,在第一个UI类中增加一个public函数 Ui::MainWindow *getUi() { return ui; }
你的想法其实感觉上可以,但是其实你会发现这么用很僵化!。 我也曾经碰到过这种情况,尽量还是MVC来的更低耦合些。首先,你要用到第一个UI的设计类 Ui::MainWindow, 那么你就得包含相关的自动生成的头文件ui_xxx.h,这个文件万一改个名字你就得 重新编译。其次,你的其他UI还得保证不会重名,也就是你不能在namespace Ui里再增加一个class MainWindow 也不能再有一个Ui_MainWindow. 如果你必须用,比较简单的办法是,在第一个UI类中增加一个public函数 Ui::MainWindow *getUi() { return ui; }
不好意思,没说清楚,我的意思是在新的类中用Ui::MainWindow定义一个变量(Mainui),初始化后再"Mainui->"方式使用控件时不行。不是直接用MainWindow里定义的ui。
QLabel *label;
label = new QLabel(this);
16,240
社区成员
26,660
社区内容
加载中
试试用AI创作助手写篇文章吧