在写一个小程序的时候,遇到让我非常无语的问题。
class MainPageWindow(QWidget, Ui_Dialog):
def __init__(self, parent=None):
super(MainPageWindow, self).__init__(parent)
self.setupUi(self)
self.lineEdit.setText("0.079"))
self.pushButton_printtt.clicked.connect(self.printtt)
y = self.lineEdit.text() #能获取值
print(y)
def printtt(self):
print("计算结果:")
y = self.lineEdit.text() #不能获取值
print(y)
if __name__ == '__main__':
app = QApplication(sys.argv)
MainWindow = QMainWindow()
ui = MainPageWindow()
ui.setupUi(MainWindow)
ui.show()
sys.exit(app.exec_())
在这个代码下,发现出现的结果是
也就是说,在printtt()函数中并没有获取到正确值!!!
百思不得其解后,发现是main里面出问题了,修改为
if __name__ == '__main__':
app = QApplication(sys.argv)
MainWindow = QMainWindow()
ui = MainPageWindow()
# ui.setupUi(MainWindow)
ui.show()
sys.exit(app.exec_())
即注释掉
ui.setupUi(MainWindow)
这一句即可!!!!!!!!
根本原因是多setup了一次!!!导致控件值获取出问题!!!
太傻了!!!
正确结果是