从QLineEdi获取输入

2024-10-01 04:52:54 发布

您现在位置:Python中文网/ 问答频道 /正文

我需要从GUI中的QLineEdit中获取一个数字,并在计算中使用它,并将结果显示在消息框中,但我不断地得到错误

    self.connect(self.calculate, SIGNAL("clicked()"),self.showMessageBox)

    y = int(self.input1.get())
    x = 31 + y

def showMessageBox(self):
   QMessageBox.information(self,"NRC","You need " + str(x))

Tags: self消息getsignalconnect错误gui数字
2条回答

使用self.input1.text()读取小部件的当前文本内容。在

还要注意,当第一个方法结束时,Python将忘记x,因此{}在{}中是未知的

相关:

构建代码的方式有几个问题。简单地向您展示一个符合您的规范的工作示例可能是最简单的,这样您就可以看到它们是如何结合在一起的:

from PyQt4 import QtCore, QtGui

class Window(QtGui.QWidget):
    def __init__(self):
        QtGui.QWidget.__init__(self)
        self.input1 = QtGui.QLineEdit(self)
        self.calculate = QtGui.QPushButton('Calculate', self)
        self.calculate.clicked.connect(self.handleCalculate)
        layout = QtGui.QHBoxLayout(self)
        layout.addWidget(self.input1)
        layout.addWidget(self.calculate)

    def handleCalculate(self):
        y = int(self.input1.text())
        x = 31 + y
        self.showMessageBox(x)

    def showMessageBox(self, value):
        QtGui.QMessageBox.information(self, 'NRC', 'You need %s' % value)

if __name__ == '__main__':

    import sys
    app = QtGui.QApplication(sys.argv)
    window = Window()
    window.setGeometry(500, 300, 300, 50)
    window.show()
    sys.exit(app.exec_())

相关问题 更多 >