我创建了一个Qt的Desginer主窗口,它具有以下结构QT5设计和封装
- Ui_MainWindow
- VerticalLayout的
- QTabWidget
- 小工具(* A )
- QChart
- QChart
- 小工具(* A )
- QTabWidget
- VerticalLayout的
UIC的生成头文件 “ui_mainwindow.h”。这个头文件包含所有sub(subsub,subsubsub,...)小部件的引用。在我看来,这不是很好的封装。
我找到了一种方法来设置Qt设计器中不同窗口小部件的自定义类。 因为我必须手动编写这些类,所以我没有对子窗口小部件的访问/引用。我只能控制小部件本身。仍然所有的小部件都在MainWindow UI中被引用。
有没有办法为每个(或某些选定的)小部件生成单独的类?我想拦截* A并访问儿童QCharts。
谢谢
您可以更改UI类的处理方式。该设置位于Creator设置中的C++ - > Qt Class Generation中。你有三个选择,这里有记录:http://doc.qt.io/qt-5/designer-using-a-ui-file.html –
好吧,我想我有一个解决方案。我只需要用自定义类实现自己的层次结构,并将指针传递给生成的UI类到这个层次结构。尽管如此,我认为在生成的头文件中将UI XML中的深层次结构展平并不是最佳做法。 – Soccertrash