您好,登錄后才能下訂單哦!
我就廢話不多說了,直接上代碼吧!
from PyQt5.QtCore import QThread , pyqtSignal, QDateTime , QObject from PyQt5.QtWidgets import QApplication, QDialog, QLineEdit import time import sys class BackendThread(QObject): # 通過類成員對象定義信號 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 Window(QDialog): def __init__(self): QDialog.__init__(self) self.setWindowTitle('PyQt 5界面實時更新例子') self.resize(400, 100) self.input = QLineEdit(self) self.input.resize(400, 100) self.initUI() def initUI(self): # 創建線程 self.backend = BackendThread() # 連接信號 self.backend.update_date.connect(self.handleDisplay) self.thread = QThread() self.backend.moveToThread(self.thread) # 開始線程 self.thread.started.connect(self.backend.run) self.thread.start() # 將當前時間輸出到文本框 def handleDisplay(self, data): self.input.setText(data) if __name__ == '__main__': app = QApplication(sys.argv) win = Window() win.show() sys.exit(app.exec_())
補充拓展:
python 自動刷新網頁代碼
1、簡介
1.打開網頁
2)實現定時刷新
可以看到 多次自動打開關閉網頁之后,瀏覽的數量 從 118 自動變成了 119
2、功能實現
1) 一種方法
from time import sleep from selenium import webdriver driver= webdriver.Chrome() # 需要 下載 對應瀏覽器 驅動到 python 安裝目錄 driver.get("https://blog.csdn.net/qq_27061049/article/details/90577597") # 刷新網址 for i in range(10000): # 刷新次數 driver.refresh() # 刷新網頁 sleep(5) # 五秒一次
2)、另一種方法
目錄
1)openweb.py
# -*- coding: utf-8 -*- import sys from PyQt5.QtWebEngineWidgets import QWebEngineView from PyQt5.QtCore import * from PyQt5.QtWidgets import * class WebView(QWebEngineView): def __init__(self): super(WebView, self).__init__() url = 'https://blog.csdn.net/qq_27061049/article/details/89711766' # 自定義刷新的網頁 self.load(QUrl(url)) self.showMinimized() #窗口最小化 self.show() self.thread = Worker() # 創建線程實例 self.thread.sinOut.connect(self.reloadWeb) # 信號綁定槽函數 self.thread.start() # 開啟線程 def reloadWeb(self): self.reload() #刷新網頁 class Worker(QThread): sinOut = pyqtSignal() # 創建新的信號,并且有參數 num = 0 def __init__(self, parent=None): # 構造方法 創建號對象之后,會自動調用 super(Worker, self).__init__(parent) def __del__(self): # 析構函數 再對象被刪除 和 回收的時候調用 self.wait() def run(self): for i in range(1000): # 發出信號 self.sinOut.emit() # 給信號傳參字符串,并發送 # 線程休眠66秒 self.sleep(66) Worker.num = Worker.num + 1 print (str(Worker.num) + " 次刷新") if __name__ == '__main__': app = QApplication(sys.argv) web = WebView() print('### exec succeed !') sys.exit(app.exec_())
以上這篇在python3中實現更新界面就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持億速云。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。