2012-11-29 5 views
0

다음 예가 포함 된 레이아웃이있는 PyQT UI에서 탭을 만드는 방법은 무엇입니까?데이터 (숫자)를 취하는 텍스트 상자가있는 레이아웃으로 탭을 만듭니다 (MNOP이라고 함).

탭 이름 -MNOP

레이아웃이 있습니다.

  • a1 : 입력란 그 수의 입력 데이터 (번호)
  • A2 : 입력란 모자 수있는 입력 데이터
  • A3 : 입력란 수있는 입력 데이터
  • A4 : 입력란 수있는 입력 데이터

데이터 입력은 db에 저장되고 막대 그래프를 만드는 데 사용됩니다. 지금은 탭과 텍스트 상자를 만들어야합니다.

지금은 다음과 같은 불완전한 작업을하고 있지만 진행 방법을 모릅니다.

class RPBDlg(QDialog): 
def __init__(self, parent=None): 
    super(RPBDlg, self).__init__(parent) 
    self.newcounter =0 


    grid = QGridLayout() 
    label = QLabel() 
    label.setText("<B>Plan Title:</B>") 
    self.titleEdit = QLineEdit() 


    grid.addWidget(label,0,0,1,1) 
    grid.addWidget(self.titleEdit,0,1,1,1) 
    label2 = QLabel("<B>Type of Plan</B>") 
    self.typeEdit = QComboBox() 
    self.typeEdit.addItems(["STI","LTI","STI and LTI"]) 

    grid.addWidget(label2,1,0,1,1) 
    grid.addWidget(self.typeEdit,1,1,1,1) 
    self.bonusPool = QCheckBox("Bonus Pool") 
    grid.addWidget(self.bonusPool,1,4,1,1) 
    label3 = QLabel("<B>Sub-Type of Plan<B>") 
    self.subTypeEdit = QComboBox() 
    self.subTypeEdit.addItems(["Regular","Profit Sharing","Multiplier Based"]) 
    grid.addWidget(label3,1,2,1,1) 
    grid.addWidget(self.subTypeEdit,1,3,1,1) 
    self.label4 = QLabel("<B>Are individual awards determined <br>through a performance formula?") 
    self.bonusPoolAdditional = QComboBox() 
    self.bonusPoolAdditional.addItems(["Yes - separate formula for individual awards","Yes - individual awards are proportional to bonus pool", "No - individual awards are discretionary","No - individual awards determined through negative discretion"]) 
    grid.addWidget(self.label4,3,0,1,1) 
    grid.addWidget(self.bonusPoolAdditional,3,1,1,2) 

수입품이 있습니다. 이 코드는 훨씬 더 큰 코드의 일부입니다.

답변

1

UI에서 탭을 사용하려면 QTabWidget을 만들어야합니다. 기본 작업 단계는 다음과 같습니다.

  • QTabWidget을 만듭니다.
  • 탭 대화 상자의 각 페이지에 대해 부모가없는 QWidget을 작성하십시오. 그들에게
  • 레이아웃을 사용하여 페이지 위젯에 정상적으로 배치하는 하위 위젯을 삽입하십시오.
  • addTab() 또는 insertTab()을 호출하여 페이지 위젯을 탭 위젯에 넣고 각 탭에 선택적인 키보드 단축키가있는 적절한 레이블을 지정합니다.

위젯의 documentation page에서 자세한 정보를 찾을 수 있습니다.

+0

감사합니다. Vicent. 그러나 나는 PyQt에 절대적으로 새로운 것이므로 논리가 매우 열악하다. 문제를 설명하는 또 다른 질문을 올렸습니다. (코드는 없습니다.) - 내 사용자 이름을 클릭하여 찾을 수 있습니다. 다시 한 번 감사드립니다 :) 또한, 기존 코드를 점검하고 거기에 "QTabWidget"참조가 있지만 내 POV에서 잘못된 위치에 있지만 작동합니다. 그래서, 내 논리가 엉망이되어야합니다. – user1542006