我是一个Qt的新手。经常遇到的一个问题是我经常不确定是否应该使用继承。例如,为了设置和自定义QFrame,我可以实例化一个QFrame并设置所有属性(包括子对象)。或者,我可以子类化qframe并将所有设置代码放在类的构造函数中(或者构造函数调用的函数中)。
我的直觉是选择取决于复杂度,但分界线并不总是清晰明确的。有最佳实践吗?
我是一个Qt的新手。经常遇到的一个问题是我经常不确定是否应该使用继承。例如,为了设置和自定义QFrame,我可以实例化一个QFrame并设置所有属性(包括子对象)。或者,我可以子类化qframe并将所有设置代码放在类的构造函数中(或者构造函数调用的函数中)。
我的直觉是选择取决于复杂度,但分界线并不总是清晰明确的。有最佳实践吗?
sizeHint
就是一个例子。您的类变得复杂,具有许多特定设置(样式、大小、属性)。在构造函数中修复它们很容易使代码更可读和有组织。
您觉得将某些在外部实现的方法移动到其中似乎是合理的。例如,一些响应事件或过滤器的方法。
您发现定义一些插槽作为对外部信号的响应很有用。
您发现实现从您的小部件产生的信号很有用。
您发现从这个类派生新类和/或在其他应用程序中重用它很有用。
最重要的事实是:尽可能使您的代码最可读和有组织。请记住,编译器可能会因其优化器而改变整个程序!!!