python - 如何从事件函数返回值并将其设置为 LineEdit?
问题描述
我正在努力返回一个值并将其显示在窗口中。我可以打印值。我想将返回值设置为 line3。我正在尝试做一个基本程序,其中 line1 和 line2 中有两个输入值,并且这两个值的输出或总和将显示在 line3 中。
import sys
from PyQt5.QtWidgets import QApplication,QWidget,QLabel, QLineEdit, QPushButton
def dialog(): *#this block will add two input from line1 and line2*
value1=int(line1.text())
value2=int(line2.text())
result=value1+value2
print(result)
return result
if __name__=="__main__":
app=QApplication(sys.argv)
w=QWidget()
w.resize(400,200)
w.setWindowTitle('Calculator')
label=QLabel(w)
label.setText('Hi ! Enter the inputs')
label.move(50, 50)
label1=QLabel(w)
label1.setText('Result:')
label1.move(85,150)
line1=QLineEdit(w)
line2=QLineEdit(w)
line1.move(50,70)
line2.move(200,70)
line3=QLineEdit(w)
line3.move(130, 150)
line3.setText('0')
btn1=QPushButton(w)
btn1.setText('Submit')
btn1.move(150, 100)
btn1.clicked.connect(dialog)
**#now I want to set the return value from dialog to line3**
w.show()
sys.exit(app.exec_())
解决方案
class MyWidget(QWidget):
def __init__(self, parent=None):
super(QWidget, self).__init__(parent)
self.resize(400, 200)
self.setWindowTitle('Calculator')
self.line1 = QLineEdit(self)
self.line2 = QLineEdit(self)
self.line1.move(50,70)
self.line2.move(200,70)
self.line3 = QLineEdit(self)
self.line3.move(130, 150)
self.line3.setText('0')
btn1 = QPushButton(self)
btn1.setText('Submit')
btn1.move(150, 100)
btn1.clicked.connect(self.dialog)
def dialog(self):
value1 = int(self.line1.text())
value2 = int(self.line2.text())
result = value1 + value2
self.line3.setText(str(result))
推荐阅读
- python - 在 Docker 容器中看不到共享文件
- python - 用scrapy刮掉所有主机名
- javascript - MEAN堆栈多图上传意外字段错误
- javascript - 一次查询的猫鼬限制
- shell - 如何在管道 stdio 的同时模拟 TTY?
- modelica - 模型中阀门的标称质量流量、标称压降、标称密度
- entity-framework - 这是使用 SqlAzureExecutionStrategy 但不是在用户启动的事务代码中的好选择吗?
- git - 如何在 dev 分支上工作,但将 master 作为默认克隆分支
- javascript - Vue.js 计算属性,按对象键过滤
- javascript - 五:未捕获的类型错误:无法读取未定义的属性“x”(@esx_mcdonaldscrafting/html/js/app.js:66)