QWidget-Class의 구성원은 일반적으로 개인 또는 공용으로 설계해야합니까?QWidget을 어떻게 디자인합니까?
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'와 같은 클래스에 멤버 함수를 추가하지 못하게합니까? – vahancho
왜이 솔루션에서 개인 수식어를 사용해야합니까? #define private public도 가능하지만 좋은가요? – Andreas
'#define private public'? 농담입니까? – vahancho