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

資訊專欄INFORMATION COLUMN

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

馬龍駒 / 2710人閱讀

摘要:實(shí)時(shí)追加顯示定義一個(gè)發(fā)送的信號(hào)通過類成員對(duì)象定義信號(hào)處理業(yè)務(wù)邏輯下面將輸出重定向到中實(shí)時(shí)顯示開始創(chuàng)建線程連接信號(hào)開始線程將當(dāng)前時(shí)間輸出到文本框目前遇到的問題是使用上遇到很多坑像是菜單工具欄各個(gè)按鈕之間怎么去綁定特定的槽各種報(bào)錯(cuò)然后現(xiàn)在想

實(shí)時(shí)追加顯示

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)  #定義一個(gè)發(fā)送str的信號(hào)
        def write(self, data):
            self.textWritten.emit(str(data)) 

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

     # 處理業(yè)務(wù)邏輯
    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", "實(shí)時(shí)顯示"))
        self.pushButton.setText(_translate("MainWindow", "開始"))

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

    # 將當(dāng)前時(shí)間輸出到文本框
    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使用上遇到很多坑,像是菜單,工具欄各個(gè)按鈕之間怎么去綁定特定的槽,各種報(bào)錯(cuò). 然后現(xiàn)在想到一種方式是,qt designer純用來設(shè)計(jì)頁面,信號(hào)與槽之間的綁定自己寫,修修補(bǔ)補(bǔ). 參考

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

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

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/42058.html

相關(guān)文章

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

    摘要:實(shí)時(shí)在文本框顯示內(nèi)容引入這個(gè)函數(shù)綁定定時(shí)器自動(dòng)執(zhí)行在類中定義一個(gè)定時(shí)器并在構(gòu)造函數(shù)中設(shè)置啟動(dòng)及其信號(hào)和槽設(shè)置計(jì)時(shí)間隔并啟動(dòng)計(jì)時(shí)結(jié)束調(diào)用方法注意不要加引入這個(gè)參考 qt designer使用 開始 新建項(xiàng)目(eric6 項(xiàng)目) 新建窗體(eric6 窗體) 編輯界面(轉(zhuǎn)到qt designer) 保存 編譯窗體(轉(zhuǎn)到eric6 窗體) 運(yùn)行(查看頁面效果) 頁面縮放效果(qt d...

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

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

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

    摘要:如果編輯了按鈕那么接下來就是通過按鈕觸發(fā)某個(gè)動(dòng)作首先右擊窗體生成對(duì)話框代碼綁定按鈕接著在代碼欄就會(huì)看到生成的文件在中創(chuàng)建綁定再次編譯打開文件發(fā)現(xiàn)已經(jīng)綁定服務(wù)日志運(yùn)行中播放暫停退出實(shí)時(shí)日志服務(wù)器開始服務(wù)密碼退出狀態(tài)信息類 如果編輯了按鈕, 那么接下來就是通過按鈕觸發(fā)某個(gè)動(dòng)作 首先右擊窗體,生成對(duì)話框代碼 showImg(https://segmentfault.com/img/bVbem...

    Eidesen 評(píng)論0 收藏0
  • Python 小白的 PyQt5 項(xiàng)目實(shí)戰(zhàn)(1)安裝與環(huán)境配置

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

    Chao 評(píng)論0 收藏0
  • PyQt5 簡(jiǎn)介

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

    sevi_stuo 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<