Rumah > Soal Jawab > teks badan
我有一个处理example.csv的后台程序,现在想把当前读行数实时显示到GUI界面中去。
就是这下面
能否提供一些思路,谢谢!
PHP中文网2017-04-17 17:50:08
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_()
伊谢尔伦2017-04-17 17:50:08
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