2013-05-13 4 views
0

Qt를 사용하여 GUI를 만드는 것은 이번이 처음입니다. 많은 그룹 상자가있는 응용 프로그램에서는 모두 "플랫"속성을 사용하도록 설정하고 싶습니다. 같은 유형의 모든 위젯의 기본값을 변경하는 방법이 있습니까?Qt 위젯의 기본 속성을 설정할 수 있습니까?

QGroupBox 위젯을 기반으로 새로운 클래스를 만들면 똑같은 것을 달성 할 수 있습니다.하지만 실제로 가능한 최소한의 코딩만으로 목표를 달성하는 것이 목표입니다.

+0

Qt 디자이너에서 속성을 설정할 수 있습니다. 이게 너가 찾고있는거야? – sashoalm

+0

Qt Designer에서 속성을 설정할 수 있지만 여전히 각 위젯의 값은 변경되지만 모든 기존 위젯에 대한 코드 줄이 생성됩니다. 모든 위젯의 기본값을 덮어 쓰는 한 줄의 코드를 선호합니다 ... – PhilMacKay

+0

그런 다음 QGroupBox를 서브 클래스 화해야합니다. 그것을 피할 방법이 없습니다. 즉, 값을 변경해야합니다. @ pnezis의 코드는 실제로 "기본"값을 변경하지 않더라도 올바르게 수행됩니다. – sashoalm

답변

2

C++ 코드가 이어집니다. 파이썬에서 포트로 바로 향해야합니다.

위젯의 UI를 설정 한 후 다음을 수행하십시오.

QList<QGroupBox *> groupboxes = this->findChildren<QGroupBox *>(); 
for (int i=0; i<groupboxes.count(); i++) 
    groupboxes[i]->setFlat(true); 
+0

이것이 내가 원하는 것 같습니다! 하지만 C++에 익숙하지 않아서 번역하기가 힘듭니다. 파이썬 번역본 (나 자신 포함)이 있으면 누군가 대답을 수락합니다. – PhilMacKay

+0

발견! 파이썬 코드는'list = self.findChildren (QtGui.QGroupBox); 목록에있는 항목 : item.setFlat (True)' – PhilMacKay

관련 문제