在我的Qt应用程序中,我有一个plainTextEdit
框,我希望用户输入他希望python / Qt应用程序生成报告的硬件序列号。因此,硬件序列号是我的应用程序必须输入的,如果他没有输入,那么我不想启用报告生成pushButton
。
答案 0 :(得分:1)
连接QPlainTextEdit
的{{3}}信号。只要文本发生变化,就会触发此操作。然后,您可以访问QPlainTextEdit
到textChanged()
的内容,并使用它来决定是启用还是禁用该按钮。
这是一个简单的例子:
import sys
from PySide import QtCore, QtGui
class MainWindow(QtGui.QMainWindow):
def __init__(self, parent=None):
QtGui.QMainWindow.__init__(self, parent)
widget = QtGui.QWidget()
self.edit = QtGui.QPlainTextEdit()
QtCore.QObject.connect(self.edit, QtCore.SIGNAL('textChanged()'), self.handleTextChange)
self.button = QtGui.QPushButton('Generate Report')
self.button.setEnabled(False)
layout = QtGui.QVBoxLayout(widget)
layout.addWidget(self.edit)
layout.addWidget(self.button)
self.setCentralWidget(widget)
@QtCore.Slot()
def handleTextChange(self):
self.button.setDisabled(self.edit.toPlainText() == '')
app = QtGui.QApplication(sys.argv)
main = MainWindow()
main.show()
sys.exit(app.exec_())