国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

PyQt5+eric6之旅(三) - 多線程應用 - 追加顯示

馬龍駒 / 2704人閱讀

摘要:實時追加顯示定義一個發送的信號通過類成員對象定義信號處理業務邏輯下面將輸出重定向到中實時顯示開始創建線程連接信號開始線程將當前時間輸出到文本框目前遇到的問題是使用上遇到很多坑像是菜單工具欄各個按鈕之間怎么去綁定特定的槽各種報錯然后現在想

實時追加顯示

code

from PyQt5 import QtCore, QtGui, QtWidgets
from PyQt5.QtCore import * 
from PyQt5.QtWidgets import *
import time
import sys

class EmittingStream(QtCore.QObject):  
        textWritten = QtCore.pyqtSignal(str)  #定義一個發送str的信號
        def write(self, data):
            self.textWritten.emit(str(data)) 

class BackendThread(QThread):
     # 通過類成員對象定義信號
    update_date = pyqtSignal(str)

     # 處理業務邏輯
    def run(self):
        while True:
            data = QDateTime.currentDateTime()
            currTime = data.toString("yyyy-MM-dd hh:mm:ss")
            self.update_date.emit( str(currTime) )
            time.sleep(1)

class Ui_MainWindow(object):
    def setupUi(self, MainWindow):
        MainWindow.setObjectName("MainWindow")
        MainWindow.resize(800, 600)
        self.centralWidget = QtWidgets.QWidget(MainWindow)
        self.centralWidget.setObjectName("centralWidget")
        self.gridLayout = QtWidgets.QGridLayout(self.centralWidget)
        self.gridLayout.setObjectName("gridLayout")
        self.pushButton = QtWidgets.QPushButton(self.centralWidget)
        self.pushButton.setObjectName("pushButton")
        self.gridLayout.addWidget(self.pushButton, 0, 0, 1, 1)
        self.textEdit = QtWidgets.QTextEdit(self.centralWidget)
        self.textEdit.setObjectName("textEdit")
        self.gridLayout.addWidget(self.textEdit, 1, 0, 1, 1)
        MainWindow.setCentralWidget(self.centralWidget)
        
        #下面將輸出重定向到textEdit中
        sys.stdout = EmittingStream(textWritten=self.handleDisplay)  
        sys.stderr = EmittingStream(textWritten=self.handleDisplay)
        
        self.retranslateUi(MainWindow)
        QtCore.QMetaObject.connectSlotsByName(MainWindow)
        
    def retranslateUi(self, MainWindow):
        _translate = QtCore.QCoreApplication.translate
        MainWindow.setWindowTitle(_translate("MainWindow", "實時顯示"))
        self.pushButton.setText(_translate("MainWindow", "開始"))

    def initUI(self):
          # 創建線程
        self.backend = BackendThread()
          # 連接信號
        self.backend.update_date.connect(self.handleDisplay)
          # 開始線程
        self.backend.start()

    # 將當前時間輸出到文本框
    def handleDisplay(self, data):
        cursor = self.textEdit.textCursor()  
        cursor.movePosition(QtGui.QTextCursor.End)
        # self.textEdit.setText(data)
        cursor.insertText(data + "
")  
        self.textEdit.setTextCursor(cursor)  
        self.textEdit.ensureCursorVisible()

if __name__ == "__main__":
    
    app = QtWidgets.QApplication(sys.argv)
    MainWindow = QtWidgets.QMainWindow()
    win = Ui_MainWindow()
    win.setupUi(MainWindow)
    win.initUI()
    MainWindow.show()
    sys.exit(app.exec_())

result

目前遇到的問題是qt designer使用上遇到很多坑,像是菜單,工具欄各個按鈕之間怎么去綁定特定的槽,各種報錯. 然后現在想到一種方式是,qt designer純用來設計頁面,信號與槽之間的綁定自己寫,修修補補. 參考

https://www.cnblogs.com/topsh...

http://www.broadview.com.cn/a...

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/42058.html

相關文章

  • PyQt5+eric6之旅(二) - qt designer基本操作

    摘要:實時在文本框顯示內容引入這個函數綁定定時器自動執行在類中定義一個定時器并在構造函數中設置啟動及其信號和槽設置計時間隔并啟動計時結束調用方法注意不要加引入這個參考 qt designer使用 開始 新建項目(eric6 項目) 新建窗體(eric6 窗體) 編輯界面(轉到qt designer) 保存 編譯窗體(轉到eric6 窗體) 運行(查看頁面效果) 頁面縮放效果(qt d...

    2bdenny 評論0 收藏0
  • PyQt5+eric6之旅(一) - 簡介與安裝配置過程

    摘要:最近想做一個實用的圖形界面用于查看實時日志本來是準備用開發原本以為功能簡單應該很好上手然而在嘗試了幾次之后徹底放棄了這個想法首先太老了看上去像是上個世紀的應用界面丑陋這是其一如果只是這樣還可以接受然而實際編寫過程中發現也不是那么友好優質文檔 最近想做一個實用的圖形界面用于查看實時日志,本來是準備用tkinter開發,原本以為功能簡單應該很好上手,然而,在嘗試了幾次之后,徹底放棄了這個想...

    王偉廷 評論0 收藏0
  • PyQt5+eric6之旅(四) - 信號與槽的綁定

    摘要:如果編輯了按鈕那么接下來就是通過按鈕觸發某個動作首先右擊窗體生成對話框代碼綁定按鈕接著在代碼欄就會看到生成的文件在中創建綁定再次編譯打開文件發現已經綁定服務日志運行中播放暫停退出實時日志服務器開始服務密碼退出狀態信息類 如果編輯了按鈕, 那么接下來就是通過按鈕觸發某個動作 首先右擊窗體,生成對話框代碼 showImg(https://segmentfault.com/img/bVbem...

    Eidesen 評論0 收藏0
  • Python 小白的 PyQt5 項目實戰(1)安裝與環境配置

    摘要:工具可以直接使用方式安裝和的環境配置使用集成開發工具的小白,在安裝庫以后,還要對和進行環境配置,將其集成到中。如果小白的或安裝在其他路徑下,則從對應的目錄找到,或者在資源管理器中搜索文件找到安裝路徑。 ...

    Chao 評論0 收藏0
  • PyQt5 簡介

    摘要:是由一系列模塊組成。超過個類,函數和方法。有兩種證書,和商業證書。包含了窗口系統事件處理圖像基本繪畫字體和文字類。包含了協議的類。提供了處理數據庫的工具。廢棄了和的調用方式,使用了新的信號和處理方式。不再支持被標記為廢棄的或不建議使用的。 本教程的目的是帶領你入門PyQt5。教程內所有代碼都在Linux上測試通過。PyQt4 教程是PyQt4的教程,PyQt4是一個Python(同時支...

    sevi_stuo 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<