python - PyQt5 setText 与 add_event_detect
问题描述
我正在尝试使用 setText 更新 QLabel()。
from PyQt5 import QtCore, QtGui, QtWidgets
import RPi.GPIO as GPIO
GPIO.setwarnings(False)
GPIO.setmode(GPIO.BOARD)
# input
GPIO.setup(37, GPIO.IN) # sensor jolo (camera)
# output
GPIO.setup(8, GPIO.OUT, initial=True) # pump
class Ui_Form(object):
def setupUi(self, Form):
Form.setObjectName("Form")
Form.resize(400, 300)
self.label = QtWidgets.QLabel(Form)
self.label.setGeometry(QtCore.QRect(90, 30, 47, 13))
self.label.setObjectName("label")
self.lineEdit = QtWidgets.QLineEdit(Form)
self.lineEdit.setGeometry(QtCore.QRect(30, 70, 113, 20))
self.lineEdit.setObjectName("lineEdit")
self.lineEdit_2 = QtWidgets.QLineEdit(Form)
self.lineEdit_2.setGeometry(QtCore.QRect(30, 110, 113, 20))
self.lineEdit_2.setObjectName("lineEdit_2")
self.pushButton = QtWidgets.QPushButton(Form)
self.pushButton.setGeometry(QtCore.QRect(220, 120, 75, 23))
self.pushButton.setObjectName("pushButton")
self.pushButton.clicked.connect(self.set)
self.retranslateUi(Form)
QtCore.QMetaObject.connectSlotsByName(Form)
def sens(self):
if GPIO.input(37):
GPIO.output (8, False)
self.label.setText('1234')
else:
GPIO.output (8, True)
pass
GPIO.add_event_detect(37, GPIO.BOTH, callback=sens, bouncetime=10)
def set(self):
self.label.setText('1234')
def retranslateUi(self, Form):
_translate = QtCore.QCoreApplication.translate
Form.setWindowTitle(_translate("Form", "Form"))
self.label.setText(_translate("Form", "TextLabel"))
self.pushButton.setText(_translate("Form", "PushButton"))
if __name__ == "__main__":
import sys
app = QtWidgets.QApplication(sys.argv)
Form = QtWidgets.QWidget()
ui = Ui_Form()
ui.setupUi(Form)
Form.show()
sys.exit(app.exec_())
使用按钮激活的设置功能正确执行。但是用 add_event_detect 激活的 sens 函数有错误。错误文本:self.label.setText('1234') /n AttributeError: 'int' object has no attribute 'label'
解决方案
推荐阅读
- r - 将 drawExtent() 和 drawPoly() 函数与 spplot() 一起使用
- android-studio - 无法打开资产 URL(离子电容器)
- angular - Angular 在新选项卡中使用参数打开新组件
- typescript - Typescript:字段与函数参数类型之间的相关性
- sql - 如何在 Postgres 命名空间中使用关键字?
- python - 函数中使用的内存量?
- opencv - 在没有 OCR 引擎的情况下检测打印文本中的数字字符
- jquery - 使用 jquery ajax 从 asp.net 网页表单页面调用 web api url
- java - 'canAuthenticate()' 在 android 中已弃用
- flutter - 尝试在颤振中使用(InAppWebView)下载带有webView的文件时出现问题