Bukankah itu yang dilakukan oleh mekanisme slot isyarat PyQt. Kotak input yang anda ingin masukkan, seperti LineEdit, sepadan dengan slot A dihantar ke tempat pemprosesan, dan PyQt melakukan yang lain. Pengikatan tidak memerlukan panggilan fungsi tertentu, dan kod itu kelihatan lebih bersih Dalam contoh berikut, BackendThread mensimulasikan urutan latar belakang Selepas data diproses, ia dikemas kini ke latar depan dan dimuat semula setiap saat logik sendiri
# -*- coding: utf-8 -*-
from PyQt4.Qt import *
from PyQt4.QtCore import *
from PyQt4.QtGui import *
import time
class Backend(QThread):
update_date = pyqtSignal(QString)
def run(self):
while True:
data = QDateTime.currentDateTime()
self.update_date.emit(QString(str(data)))
time.sleep(1)
class Window(QDialog):
def __init__(self):
QDialog.__init__(self)
self.resize(400, 100)
self.input = QLineEdit(self)
self.input.resize(400, 100)
def handleDisplay(self, data):
self.input.setText(data)
if __name__ == '__main__':
import sys
app = QApplication(sys.argv)
b = Backend()
w = Window()
b.update_date.connect(w.handleDisplay)
b.start()
w.show()
app.exec_()
Tentukan pembolehubah global dan tulis nombor baris semasa ke dalam pembolehubah apabila membaca Atur cara yang dijadualkan mengemas kini nilai pada antara muka secara kerap (ambil pembolehubah global)
Ini adalah kaedah yang paling mudah dan kasar
Kaedah lain ialah melaksanakan secara tak segerak apabila membaca dan mengemas kini terus bilangan baris ke antara muka
Bukankah itu yang dilakukan oleh mekanisme slot isyarat PyQt. Kotak input yang anda ingin masukkan, seperti LineEdit, sepadan dengan slot A dihantar ke tempat pemprosesan, dan PyQt melakukan yang lain. Pengikatan tidak memerlukan panggilan fungsi tertentu, dan kod itu kelihatan lebih bersih
Dalam contoh berikut, BackendThread mensimulasikan urutan latar belakang Selepas data diproses, ia dikemas kini ke latar depan dan dimuat semula setiap saat logik sendiri
Tentukan pembolehubah global dan tulis nombor baris semasa ke dalam pembolehubah apabila membaca
Atur cara yang dijadualkan mengemas kini nilai pada antara muka secara kerap (ambil pembolehubah global)
Ini adalah kaedah yang paling mudah dan kasar
Kaedah lain ialah melaksanakan secara tak segerak apabila membaca dan mengemas kini terus bilangan baris ke antara muka