【发布时间】:2014-02-20 13:49:08
【问题描述】:
我想知道,在您看来,为什么Qt 工程师决定将setupUi() 方法放在每个生成的表单中。
(对于那些不知道 Qt 是如何工作的人:setupUi() 是一种在动态内存中分配表单内的每个按钮、texbox、小部件的方法。每个元素的引用都存储在一个指针成员变量中,它不是甚至初始化为 nullptr 并将其置于 public: 访问修饰符下,因此在您实际调用 setupUi() 之前,这看起来也有点危险)
在我的 newby 看来,这完全违反了 RAII 原则,因为这意味着任何 Ui_Whatever 类实际上都不是由其构造函数调用构造的:构造函数只是分配类本身,但在我们调用之前它是不可用的Ui_Whatever::setupUi().
这可能是选择拥有的设计原因:
- 一个空的编译器生成的默认构造函数
- 一种真正构造的方法
(我问是因为我根本想不出任何正当理由)
提前致谢!!
【问题讨论】:
-
可能是遗留原因。