【发布时间】:2013-12-11 13:36:56
【问题描述】:
QWidget-Class 的成员通常应该如何设计为 private 或 public?
class MyWidget : public QWidget {
public:
MyWidget( QWidget *parent = 0);
QLineEdit *myLine;
}
或
class MyWidget : public QWidget {
public:
MyWidget( QWidget *parent = 0);
private:
QLineEdit *myLine;
}
我更喜欢使用私有成员的第二个定义,但是这个版本不好测试,因为我无法使用 findChild( QString ) 访问成员。
另一部分是 QWidget 类是否应该嵌套其他小部件?问题是没有直接访问嵌套的小部件,这对于自动 gui 测试来说并不是很有用,鼠标点击应该可以按下按钮或其他东西..
【问题讨论】:
-
是什么阻止您向该类添加成员函数,例如
QLineEdit *MyWidget::getLineEdit() const? -
为什么我应该在这个解决方案中使用 private 修饰符? #define private public 也有可能,但很好?
-
#define private public?是开玩笑吗?