pyqt5自動更新QTableview內容解決方案

2021-10-03 02:59:37 字數 1443 閱讀 8947

下面給你例項**:

from pyqt5.qt import

*import time

class

threadtable

(qthread)

: update_date = pyqtsignal(

)//自定義乙個訊號

def__init__

(self,parent=

none

,*args,

**kwargs)

:super

(threadtable, self)

.__init__(parent,

*args,

**kwargs)

defrun

(self)

: cnt =

0while

true

: cnt +=

1 self.update_date.emit(

)# 發射訊號

time.sleep(3)

//每隔三秒鐘發射一次

if __name__ ==

'__main__'

: window_thread = threadtable(

) window_thread.run(

)

下面對重要部分進行講解:

如果需要在pyqt5中建立乙個子執行緒,就需要自己建立乙個類繼承自qthread類,最重要的是要在自己寫的類中重寫run方法,執行緒在啟動的時候才會執行run方法中的程式**。

接下來在qmainwindow中寫入如下**:

form thread_moudle import threadtable

from pyqt5.qt import

*class

mywindow

(qmainwindow)

:def

__init__

(self)

:super

(mywindow, self)

.__init__(

) self.table_thread = threadtable(

) \\例項化子執行緒

self.table_thread.start(

) \\啟動執行緒

self.table_thread.update_date.connect(self.table_data_update) \\將子執行緒訊號連線到槽就可以了

deftable_data_update

(self)

:print

('這裡寫你的qtableview更新**就可以了'

) \\業務邏輯**,每過3秒鐘就會執行一下業務**

pyqt5切換python版本 pyqt5介面切換

主要的思路就是建立兩個frame 如果有兩個以上同理 使用setvisible 函式顯示或者隱藏frame 引數是bool值 import sys from pyqt5.qtwidgets import from pyqt5.qtcore import from pyqt5.qtgui import...

pyqt5多執行緒更新ui

訊號傳參型別 pyqtsignal 無引數訊號 pyqtsignal int 乙個引數 整數 的訊號 pyqtsignal int str 乙個引數 整數或者字串 過載版本的訊號 pyqtsignal int,str 二個引數 整數,字串 的訊號 pyqtsignal int,int int,str...

pyqt5多執行緒優化 PyQt5多執行緒

您不應該向主檢視傳送乙個新的小部件 qlabel 因為它將是乙個新標籤,而不是原始標籤,您應該傳送str型別的文字class thread qthread changepixmap pyqtsignal qpixmap changelabel pyqtsignal str def run self ...