2つの入力テキストボックスを隣り合わせにしたいとします。Python:複数のQLineEditボックス(pyqt4)を持つ
1つのテキストボックスのコードをコピー/ペーストしようとしましたが、適切な結果が得られていません。 1つのテキストボックスのみが表示されます。
可能であれば、ラベルをテキストボックスとともにインラインで表示したいと考えています。
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を設定できます。ラベルを最初に追加し、入力を2番目に追加して、ラベルが左側になるようにします。次に、ウィンドウ全体のメインレイアウトマネージャを作成し、addLayout()関数を使用してメインレイアウトに各ラベル/入力レイアウトを追加することができます。 addLayout関数とaddWidget関数は、位置と重量を制御するためのフラグも取ります。一度あなたがそれを取得すると、それは非常に柔軟です。 –
ロック!ありがとう! –