亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何將我的 LCD 與類測試連接以顯示 x?

如何將我的 LCD 與類測試連接以顯示 x?

Helenr 2022-01-18 16:59:52
我正在嘗試創建一個 GUI 來顯示從 Raspberry 獲取的機器數據。不幸的是,我無法更新我的 QT-Desinger 表面。所以我現在在這個“測試課”上嘗試,但遺憾的是沒有成功那是我已經擁有的。有些東西不見了……但我現在不知道什么x = 0class Ui_Form(threading.Thread):    def __init__(self):        threading.Thread.__init__(self)    def setupUi(self, Form):        Form.setObjectName("Form")        Form.resize(400, 300)        self.lcdNumber = QtWidgets.QLCDNumber(Form)        self.lcdNumber.setGeometry(QtCore.QRect(10, 50, 361, 191))        self.lcdNumber.setObjectName("lcdNumber")        self.lcdNumber.display(x)        self.retranslateUi(Form)        QtCore.QMetaObject.connectSlotsByName(Form)    def retranslateUi(self, Form):        _translate = QtCore.QCoreApplication.translate        Form.setWindowTitle(_translate("Form", "Form"))    def run(self):        if __name__ == "__main__":            app = QtWidgets.QApplication(sys.argv)            Form = QtWidgets.QWidget()            ui = Ui_Form()            ui.setupUi(Form)            Form.show()            sys.exit(app.exec_())class Test(threading.Thread):    global x    def __init__(self):        threading.Thread.__init__(self)    def runs(self):        while x <= 20:            print(x)            x = x + 1            time.sleep(2)t = Ui_Form()t1 = Test()t.start()t1.start()計數器顯示 0 并且循環根本沒有開始..我的目標是讓 LCD 不斷更新自己,這可能嗎?
查看完整描述

1 回答

?
慕桂英4014372

TA貢獻1871條經驗 獲得超13個贊

對于更新 x 的值,QTimer 是使用 PyQt 時最好的方法,您不需要使用 threading 模塊


from PyQt5.Qt import QLCDNumber, QDialog, QPushButton, QVBoxLayout, QApplication,QTimer

import sys


class LCD(QDialog):

    x = 0

    def __init__(self):

        super(LCD, self).__init__()


        self.lcdNumber = QLCDNumber()

        self.pushStart = QPushButton("Start")

        self.pushStart.clicked.connect(self.update)


        vBox = QVBoxLayout()

        vBox.addWidget(self.lcdNumber)

        vBox.addWidget(self.pushStart)


        self.setLayout(vBox)


        self.timer = QTimer()

        self.timer.timeout.connect(self.update)


    def update(self):

        self.lcdNumber.display(str(self.x))

        self.x += 1

        self.timer.start(1000)


if __name__ == "__main__":

    app = QApplication(sys.argv)

    lcd = LCD()

    lcd.show()

    sys.exit(app.exec_())


查看完整回答
反對 回復 2022-01-18
  • 1 回答
  • 0 關注
  • 154 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號