python3チュートリアル:更新されたインタフェースのpython3の実装

今日の小さな誰もが良い基準値を持つのpython3で実現更新インタフェースを共有するため、我々は手助けをしたいです。小扁は、一緒にそれを見るためにフォローアップするために
直接コードに、私はADO!

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. Webページ

2)定期的に更新を達成するために

自動的にブラウザからの数は118,119となって開口部と、複数のページの後に自動的に閉じを見ることができますここに画像を挿入説明
達成するための2つの機能

1)A法

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

私たちは、高齢者が学習しているかを確認するためにサイトを学ぶのpythonをお勧めします!基本的なPythonスクリプト、爬虫類、ジャンゴ、データマイニング、プログラミング技術から、だけでなく、戦闘にゼロベースのpython小さなパートナーを学ぶすべての愛に与えられたデータ項目を、並べ替え!Pythonのベテランの日が学び、細部に注意を払う必要性にする方法のいくつかを共有するために、技術のタイミングを説明する必要があり、参加するためにクリックしてください私たちの集いのPythonの学習を

公開された43元の記事 ウォン称賛22 ビュー60000 +

おすすめ

転載: blog.csdn.net/haoxun06/article/details/104544581