cari

Rumah  >  Soal Jawab  >  teks badan

python - pyqt如何显示实时数据

我有一个处理example.csv的后台程序,现在想把当前读行数实时显示到GUI界面中去。
就是这下面

能否提供一些思路,谢谢!

天蓬老师天蓬老师2900 hari yang lalu1074

membalas semua(2)saya akan balas

  • PHP中文网

    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_()

    balas
    0
  • 伊谢尔伦

    伊谢尔伦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

    balas
    0
  • Batalbalas