我有一个带有3个QLineEdit和2个QPushButton的gui应用程序。
我想穿上' True' '按钮1'当' TEXT INPUT A'和' TEXT INPUT B'不是空的,按钮2'如果所有3' TEXT INPUT'不是空的。
如果所有3' TEXT INPUT'如果我删除了例如' TEXT INPUT C'中按钮2''按钮2'回到"错误"。
同样的按钮1'如果' TEXT INPUT A'或者' TEXT INPUT B'返回空。
有什么建议吗?
import PyQt4.QtGui as gui, PyQt4.QtCore as core
app = gui.QApplication([])
window = gui.QWidget()
window.resize(256, 0)
window.setWindowTitle('MY TITLE')
layout = gui.QVBoxLayout()
A_edit = gui.QLineEdit()
A_title = gui.QLabel('TEXT INPUT A')
A_edit.setObjectName('TITLE_A')
layout.addWidget(A_title)
layout.addWidget(A_edit)
B_edit = gui.QLineEdit()
B_title = gui.QLabel('TEXT INPUT B')
B_edit.setObjectName('TITLE_B')
layout.addWidget(B_title)
layout.addWidget(B_edit)
C_edit = gui.QLineEdit()
C_title = gui.QLabel('TEXT INPUT C')
C_edit.setObjectName('TITLE_C')
layout.addWidget(C_title)
layout.addWidget(C_edit)
button_1 = gui.QPushButton('button 1')
button_2 = gui.QPushButton('button 2')
layout.addWidget(button_1)
layout.addWidget(button_2)
button_1.setEnabled(False)
button_2.setEnabled(False)
window.setLayout(layout)
window.show()
app.exec_()
答案 0 :(得分:3)
你可以将3个lineedits连接到一个函数
A_edit.textChanged.connect(check_buttons)
B_edit.textChanged.connect(check_buttons)
C_edit.textChanged.connect(check_buttons)
在check_buttons函数中,检查每个lineEdit
check_buttons():
a = A_edit.text()
b = B_edit.text()
c = C_edit.text()
if a and b:
button_1.setEnabled(True)
else:
button_1.setEnabled(False)
if a and b and c:
button_2.setEnabled(True)
else:
button_2.setEnabled(False)