두 개의 입력 텍스트 상자가 서로 옆에 있고 싶습니다.Python : 여러 개의 QLineEdit 상자가있는 경우 (pyqt4)
하나의 텍스트 상자에 대해 코드를 복사하려고했으나 올바른 결과를 얻지 못했습니다. 하나의 텍스트 상자 만 표시됩니다.
가능하면 텍스트 상자와 함께 인라인으로 레이블을 붙이고 싶습니다.
class UI_central(QtGui.QDialog):
def __init__(self, parent=None):
super(UI_central, self).__init__(parent)
"""
Input box for stock name
"""
label1 = QtGui.QLabel('Stock', self)
label1.move(50, 0)
self.line_edit = QtGui.QLineEdit()
self.line_edit.setText("Stock name")
hbox = QtGui.QHBoxLayout()
hbox.addWidget(self.line_edit)
self.setLayout(hbox)
"""
Input box for stock amount
"""
label2 = QtGui.QLabel('How Many?', self)
label2.move(100, 0)
self.line_edit2 = QtGui.QLineEdit()
self.line_edit2.setText("Stock amount")
hbox2 = QtGui.QHBoxLayout()
hbox2.addWidget(self.line_edit2)
self.setLayout(hbox2)
"""
Push buttons
"""
submit_button = QtGui.QPushButton("Submit")
clear_button = QtGui.QPushButton("Clear")
hbox.addWidget(submit_button)
hbox.addWidget(clear_button)
self.connect(submit_button, QtCore.SIGNAL("clicked()"),
self.submit)
self.connect(clear_button, QtCore.SIGNAL("clicked()"),
self.clear)
return
def submit(self):
str = self.line_edit.text()
# check str before doing anything with it!
print(str)
def clear(self):
print ("cleared")
self.line_edit.setText("")
감사합니다. @Paul Cornelius !! 레이블을 입력 상자의 왼쪽으로 옮기는 방법을 알고 계십니까? –
각 라벨/입력 쌍에 대해 별도의 HBoxLayout을 가질 수 있습니다. 레이블을 먼저 추가하고 입력 초를 추가하여 레이블이 왼쪽에 있도록하십시오. 그런 다음 전체 윈도우에 대한 기본 레이아웃 관리자를 가질 수 있으며 addLayout() 함수를 사용하여 기본 레이아웃에 각 라벨/입력 레이아웃을 추가 할 수 있습니다. addLayout 및 addWidget 함수는 위치 및 무게를 제어 할 수있는 플래그도 가져옵니다. 일단 당신이 그것에 익숙해지면, 매우 유연합니다. –
당신은 락! 감사! –