午夜视频免费看_日韩三级电影网站_国产精品久久一级_亚洲一级在线播放_人妻体内射精一区二区三区_91夜夜揉人人捏人人添红杏_91福利在线导航_国产又粗又猛又黄又爽无遮挡_欧美日韩一区在线播放_中文字幕一区二区三区四区不卡 _日日夜夜精品视频免费观看_欧美韩日一区二区三区

主頁 > 知識庫 > Pyqt5 實現多線程文件搜索的案例

Pyqt5 實現多線程文件搜索的案例

熱門標簽:百應ai電銷機器人鄭州 西藏快速地圖標注地點 長春人工智能電銷機器人官網 女王谷地圖標注 地圖標注推廣單頁 如何在地圖標注文字 ai地圖標注 廈門crm外呼系統如何 n400電話申請多少錢

我學Java的時候也用Swing做了一個文件搜索的小程序,但界面真的挺丑的,現在學了點python,感覺python是最簡單的語言,沒有之一。 (大家沒事都可以來學的,真的很簡單有趣哦)

我采用的是pyqt5,所以需要先安裝Pyqt5模塊

直接cmd命令輸入

pip install pyqt5

閑言少敘,上代碼!!

# -*- coding: utf-8 -*-
# @Time  : 2018\9\15 20:39
# @Author : Tang weiyang
# @File  : FileSearch02.py
from PyQt5.QtCore import *
from PyQt5.QtWidgets import *
from PyQt5.QtGui import QIcon
import sys
import os
import threading
class fileSearchThread(QThread):
  sinOut = pyqtSignal(str)
  # 自定義信號,執行run()函數時,從相關線程發射此信號
  def __init__(self,key):
    super().__init__()
    self.key = key
  def run(self):
    threads=[]
    path = [r"c:\\", r"d:\\", r"e:\\", r"f:\\"]
    #通過多線程對windows下的多個盤符進行文件的遍歷查找
    for each in path:
      t = threading.Thread(target=self.search, args=(self.key,each,))
      threads.append(t)
      t.start()
    for i in range(len(threads)): #將主線程阻塞
      threads[i].join()
    print("搜索結束")
  def search(self,keyword, path):
    for dirpath, dirnames, filenames in os.walk(path):
      for filename in filenames:
        if filename.__contains__(keyword):
          print(os.path.join(dirpath, filename))
          self.sinOut.emit(os.path.join(dirpath, filename))
      for folder in dirnames:
        if folder.__contains__(keyword):
          print(os.path.join(dirpath,folder))
          self.sinOut.emit(os.path.join(dirpath,folder))
class fileSearch(QListWidget):
  def __init__(self):
    super().__init__()
    self.Ui()
  def Ui(self):
    self.key= QLineEdit()
    self.bt=QPushButton("搜索")
    self.result = QListWidget()
    self.bt.clicked.connect(self.ButtonClicked) #按鈕單擊信號綁定到槽
    # self.line.editingFinished.connect(self.Action)
    self.key.editingFinished.connect(self.ButtonClicked)
    grid = QGridLayout()
    grid.setSpacing(10) # 創建標簽之間的空間
    grid.addWidget(self.key, 1, 0) # (1,0)表示顯示的位置
    grid.addWidget(self.bt, 1, 1)
    grid.addWidget(self.result, 2, 0, 5, 2) # 指定組件的跨行和跨列的大小,指定這個元素跨5行顯示
    self.setLayout(grid)
    for i in range(1,100):
      self.result.addItem("搜索"+str(i)+"個項目")
    self.result.itemClicked.connect(self.Clicked)
    self.setGeometry(300, 300, 500, 500)
    self.setWindowTitle('文件搜索')
    self.setWindowIcon(QIcon('icon.jpg'))
    self.show()
  def Clicked(self, item):
    QMessageBox.information(self, "ListWidget", "You clicked: " + item.text())
    os.startfile(item.text()) #打開文件
  def ButtonClicked(self):
    # 創建新線程,將自定義信號sinOut連接到slotAdd()槽函數
    keyword = self.key.text()
    self.result.clear()
    self.thread=fileSearchThread(keyword)
    self.thread.sinOut.connect(self.slotAdd)
    self.thread.start()
  def slotAdd(self,filename):
    self.result.addItem(str(filename))
if __name__ == '__main__':
  app = QApplication(sys.argv)
  ex = fileSearch()
  sys.exit(app.exec_())

這個小程序可以搜索本地所有的文件,時間大概在10秒左右,點擊文件的地址,就可以打開這個文件.多線程這個有點卡殼,然后寫的很變扭.

這個小程序還有一個小感悟:

涉及到GUI的程序最好要將UI界面和數據處理(還包括大批量文件的讀取,循環計算),否則會導致UI界面無響應,這一點可以參考我的代碼,通過一個多線程很好解決這個問題

線程之間的信息傳遞,可以通過信號和槽完成,

sinOut = pyqtSignal(str) #自定義一個信號槽
self.thread.sinOut.connect(self.slotAdd)#信號綁定到槽
self.sinOut.emit(os.path.join(dirpath,folder)) #發射信號

pyqt的布局真的很好用,GridLayout真的超級好用

效果圖如下

補充:pyqt5多線程-簡單例子

一、主要代碼邏輯

from PyQt5 import QtWidgets, QtCore
from testqt.TEST_QT_FROM import Ui_Dialog
import sys
from PyQt5.QtCore import *
import time

# 繼承QThread
class Runthread(QtCore.QThread):
  # python3,pyqt5與之前的版本有些不一樣
  # 通過類成員對象定義信號對象
  _signal = pyqtSignal(str)
 
  def __init__(self):
    super(Runthread, self).__init__()
 
  def __del__(self):
    self.wait()
 
  def run(self):
    print("run 666")
    self._signal.emit("run 666"); # 信號發送
 
class TestQtFromC(QtWidgets.QWidget, Ui_Dialog):
  text =""
  def __init__(self):
    super(TestQtFromC, self).__init__()
    self.setupUi(self)
 
  #click
  def timer_click(self):
    self.thread = Runthread() # 創建線程
    self.thread._signal.connect(self.callbacklog) # 連接信號
    self.thread.start() # 開始線程
 
  # callback
  def callbacklog(self, msg):
    self.text =self.text+time.strftime("%Y-%m-%d %H:%M:%S ", time.localtime())+msg+ "\n"
    print(self.text)
    # 回調數據輸出到文本框
    self.textEdit.setText(self.text);
 
if __name__ == "__main__":
  app = QtWidgets.QApplication(sys.argv)
  mTestQtFromC = TestQtFromC()
  mTestQtFromC.show()
  sys.exit(app.exec_())

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。

您可能感興趣的文章:
  • python GUI庫圖形界面開發之PyQt5簡單繪圖板實例與代碼分析
  • PyQt5多線程防卡死和多窗口用法的實現
  • python GUI庫圖形界面開發之PyQt5多線程中信號與槽的詳細使用方法與實例
  • PyQt5中多線程模塊QThread使用方法的實現
  • PYQT5開啟多個線程和窗口,多線程與多窗口的交互實例
  • PyQt5 GUI 接收UDP數據并動態繪圖(多線程間信號傳遞)

標簽:渭南 綿陽 黔東 亳州 內江 廊坊 興安盟 拉薩

巨人網絡通訊聲明:本文標題《Pyqt5 實現多線程文件搜索的案例》,本文關鍵詞  Pyqt5,實現,多,線程,文件,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Pyqt5 實現多線程文件搜索的案例》相關的同類信息!
  • 本頁收集關于Pyqt5 實現多線程文件搜索的案例的相關信息資訊供網民參考!
  • 推薦文章
    国产综合视频在线观看| 蜜桃精品成人影片| www欧美com| 久久久久国产一区二区| 国产精品久久久久久亚洲伦| 日韩精品999| 国产精品久久久久久久久婷婷| 青青草久久伊人| 91精品国产乱码久久| 国产精品素人视频| 日韩一区二区三区在线播放| 日韩一区不卡| 天天操中文字幕| 亚洲国产一区视频| 中文字幕不卡在线视频极品| 久久天堂国产精品| 免费精品一区二区| 欧美日韩国产一区在线| 久久久久久国产精品美女| 国产综合内射日韩久| 成人小视频在线| 欧美激情xxxx| 国产爆乳无码一区二区麻豆| 在线观看国产区| 欧美中文一区二区三区| 5g影院天天爽成人免费下载| www日韩视频| 亚洲午夜激情av| 中文字幕乱码在线| 中文字幕在线成人| 国产片在线播放| 久久久久se| 欧美韩国日本综合| 天天天干夜夜夜操| 日韩欧美在线一区| 色婷婷一区二区三区av免费看| 色综合久久中文字幕| 日本成人在线免费| 日韩av在线播放资源| 亚洲欧美va天堂人熟伦| 国产精品麻豆99久久久久久| 黄色一级片免费的| 日韩视频一区在线| 日本在线观看视频网站| 亚洲九九九在线观看| 日产国产精品精品a∨| 麻豆精品在线播放| 精品欧美日韩| 亚洲AV无码乱码国产精品牛牛| 在线播放国产精品| 肉色超薄丝袜脚交69xx图片 | 超碰人人人人人人人| 国产婷婷色一区二区三区四区| 日韩中文在线视频| 亚洲成人av免费观看| av一二三不卡影片| 久久亚洲精品视频| 人人干人人干人人| 免费人成网站在线观看欧美高清| 欧美熟乱第一页| 一级黄色在线播放| 99热这里都是精品| 日韩在线观看视频免费| 熟妇高潮精品一区二区三区| 无码人妻一区二区三区一| 日韩一区欧美小说| 亚洲精品在线视频观看| 亚洲风情第一页| 亚洲欧美另类人妖| 国产免费一区二区三区最新不卡| 国产福利久久久| 在线观看毛片av| 美女网站久久| 成人免费观看视频| 亚洲女人的天堂| 在线观看一区二区视频| 亚洲国产精品va在线看黑人| 久久九九免费视频| 国产精品老女人视频| 久久精品国产99精品国产亚洲性色| 亚洲ai欧洲av| 亚洲av综合色区| 视频一区国产视频| 国产精品美女午夜av| 91香蕉视频网| 欧洲美女和动交zoz0z| 久久黄色免费网站| 色哟哟一区二区在线观看| av噜噜在线观看| 亚洲第一激情av| 精品人妻一区二区三区四区在线 | av免费在线观看不卡| √天堂中文官网8在线| 成人毛片一区二区三区| 久久亚洲影院| 久久只精品国产| 福利一区福利二区微拍刺激| 欧美精品一区二区三区四区| 色综合91久久精品中文字幕| 91在线国产电影| 中文字幕制服丝袜在线| 色呦色呦色精品| 国产小视频你懂的| 96亚洲精品久久久蜜桃| 国内成人免费视频| 亚洲免费毛片网站| 日韩一区二区三区观看| 久久精品国产亚洲精品2020| 成人免费午夜电影| 四虎永久免费网站| 一卡二卡三卡四卡五卡| 免费在线视频观看| 日本激情视频网站| 久久精品视频网| 欧美午夜片在线观看| 日韩在线观看网址| 147欧美人体大胆444| 欧美这里只有精品| 中文字幕一区二区三区人妻不卡| 国产99免费视频| 久久国产免费看| 亚洲精品国产成人久久av盗摄 | 日本福利视频网站| 日韩www视频| 国产精品乱码一区二区视频| 国产一区二区电影| 福利视频一区二区| 久久精品这里热有精品| 精品国产乱码久久久久久88av| 免费av网址在线| 国产喷水在线观看| 少妇高潮久久久| 国产精品卡一卡二| 亚洲精品在线免费观看视频| 日本精品免费观看| 免费观看中文字幕| 中文字幕xxx| 91丨九色丨蝌蚪丨对白| 97久久精品人人澡人人爽| 欧美主播一区二区三区| 欧美高清视频免费观看| 日韩欧美视频一区二区| 日本天堂在线播放| 最近中文字幕免费观看| www..com久久爱| 欧美日韩一区二区不卡| 97在线视频免费| 在线不卡日本| 国产精品无码一区二区三区免费| 91亚洲国产成人久久精品麻豆 | 色综合天天综合在线视频| 日韩在线观看免费全集电视剧网站| 国产呦系列欧美呦日韩呦| 日韩欧美亚洲另类| 无码无套少妇毛多18pxxxx| 粉嫩av一区二区三区粉嫩 | 中文字幕日韩欧美在线 | 亚洲天堂男人av| www.av精品| 日韩欧美不卡一区| 国产一区二区在线播放| 麻豆av免费在线| 久久免费公开视频| 国产高清精品久久久久| 欧美日韩国产免费一区二区| 欧美亚洲伦理www| 中文字幕人妻熟女人妻洋洋| 日本 欧美 国产| 蜜桃传媒麻豆第一区在线观看| 精品女厕一区二区三区| 欧美激情第三页| 日本女人高潮视频| 国产成人综合在线视频| 日韩精品在线视频| 秋霞电影网一区二区| 亚洲最大综合网| 91香蕉亚洲精品| 夜夜嗨aⅴ一区二区三区| 天堂av2020| 国产午夜福利片| 大陆极品少妇内射aaaaaa| 91av中文字幕| 天天综合色天天综合色h| 久久久久人妻一区精品色| 亚洲电影av在线| 久国产精品韩国三级视频| 精品无码久久久久久久| 网站一区二区三区| 久久精品无码中文字幕| 在线看国产一区| 久久午夜视频| 青青青手机在线视频| 久久久久久香蕉| 国产69精品久久久久9999apgf| 亚洲少妇中文在线| 国产香蕉久久精品综合网| 一区二区久久精品66国产精品 | 国产视频1区2区3区| 99久久精品无码一区二区毛片| 欧美成人精品三级在线观看 | 欧洲视频一区二区| 日韩精品色哟哟| 欧美黑人一级片| 少妇人妻在线视频| 国产成人永久免费视频| 欧美日韩一区在线视频| 成人免费看片网站| 97久久精品人搡人人玩 | 欧美日韩精品欧美日韩精品一| 中文字幕+乱码+中文字幕明步 | 亚洲欧美日韩中文字幕一区二区三区| 性中国古装videossex| 丝袜美腿小色网| 日日夜夜精品视频免费观看| 天堂√在线观看一区二区| 68精品久久久久久欧美| 欧美一区二区三区电影| 亚洲日穴在线视频| 成人高清视频免费观看| 青青草伊人久久| 不卡在线观看av| 久久先锋影音av鲁色资源网| 中文字幕成人av| 一区二区三区国产| 一区二区三区精品| 亚洲一区电影777| 中文字幕一区二区在线观看| 成人精品视频一区二区三区尤物| 精品久久人妻av中文字幕| 曰本女人与公拘交酡| 国产福利精品一区二区三区| 99在线热播| 欧美性受xxxx黑人xyx| 久久久久国产精品厨房| 日本特黄久久久高潮| 日韩欧美大片在线观看| 蜜桃色一区二区三区| 亚洲高清乱码| 国内精品美女av在线播放| 88在线观看91蜜桃国自产| 99精品久久只有精品| 国产精品中文有码| 丝袜脚交一区二区| 懂色av中文字幕| 日韩欧美一级大片| 日韩激情综合网| 国产精品日韩专区| 美女av一区二区三区| 欧美激情亚洲视频| 91精品国产综合久久香蕉922| 国产日韩欧美在线看| 日韩激情视频在线| 日韩精品资源二区在线| 欧美剧情片在线观看| 欧美自拍偷拍午夜视频| 国产馆精品极品| 久久精品国产一区二区三| 蜜臀av性久久久久蜜臀av麻豆| 蜜桃视频久久一区免费观看入口 | 亚洲国产日韩欧美在线观看| 日韩一区二区a片免费观看| 日韩精品视频免费看| 香蕉国产在线视频| 久久久精品日韩| 精品久久久久成人码免费动漫| 男女做暖暖视频| 免费在线激情视频| 国产另类自拍| 91国语精品自产拍在线观看性色 | 青青视频免费在线观看| 区一区二区三区中文字幕| 91传媒视频在线观看| 91干在线观看| 久久久999精品视频| 欧美不卡123| 日韩一区二区三| 久久精品视频在线| 日本伊人精品一区二区三区介绍| 91国产在线精品| 91理论片午午论夜理片久久| 国产精品久久久久久久久久小说| 91av视频导航| 97av自拍| 久久艳妇乳肉豪妇荡乳av| 性欧美大战久久久久久久免费观看| 成人一区二区av| 免费日韩av电影| 日本黑人久久| y111111国产精品久久婷婷| 欧美日韩在线精品| 色黄视频免费看| 欧美成人精品欧美一级私黄| 麻豆亚洲av成人无码久久精品| 国产一级在线视频| 国产精品人人妻人人爽| 天堂成人在线观看| 成人小说亚洲一区二区三区| 日韩综合在线观看| 精品国产va久久久久久久| 加勒比av一区二区| 99久久99久久精品免费看蜜桃| 欧美性猛交一区二区三区精品| 久久久久这里只有精品| 亚洲人久久久| 无码人妻精品一区二区三区99不卡| 欧美成人精品网站| av激情综合网| 欧美一区二区三区影视| 国产成人高清激情视频在线观看| 日韩av影视| 国产欧美日韩网站| 99视频在线免费| 免费成人午夜视频| 韩国无码av片在线观看网站| 亚洲精品中文综合第一页| 成人在线观看毛片| 国产午夜大地久久| 一级黄色大片儿| 国产一二三四五区| 欧美成人短视频| 手机在线免费看片| 国产欧美日韩另类| 精品黑人一区二区三区| 高潮毛片7777777毛片| 久久午夜老司机| 欧美视频免费在线| 欧美大片顶级少妇| 欧美重口另类videos人妖| 91夜夜揉人人捏人人添红杏| 91最新国产视频| 无码人妻丰满熟妇区毛片18| 日韩欧美亚洲另类| 国产精品一区二区在线免费观看| 九九精品视频免费| 日本免费网站在线观看| 欧美日韩国产精品| 国产综合在线看| 男人草女人视频| 污视频网址在线观看| 国产一级特黄a高潮片| 久久综合亚州| 中文字幕亚洲一区二区va在线| 疯狂做受xxxx高潮欧美日本| 欧美日韩国产天堂| 欧美老女人在线视频| 亚洲一区二区三区涩| 亚洲天堂美女视频| 久久综合九色| 日韩欧美在线第一页| 国产欧美最新羞羞视频在线观看| 蜜臀av午夜一区二区三区| 伊人影院中文字幕| 国产精品日韩成人| 日韩欧美一级精品久久| 久久综合伊人77777| 国产成人极品视频| 国产日韩av在线播放| 一区二区免费在线视频| 在线观看av网页| 免费成人av网站| 亚洲欧美丝袜| 国产精九九网站漫画| 国产99久久久| 国产呦精品一区二区三区网站| 国产片一区二区| 欧美亚洲综合网| 国产一区二区三区丝袜| 国产精品高潮呻吟久久av无限| www.欧美黄色| 久久国产精品波多野结衣| 99麻豆久久久国产精品免费优播| 国产一区二区三区视频在线观看| 亚洲美女自拍偷拍| 国产 欧美 在线| 色婷婷视频在线| 偷拍与自拍一区| 午夜精品久久久久久久久久久久久| 国产一区二区三区奇米久涩| 精品国产免费久久久久久婷婷| 亚洲av永久纯肉无码精品动漫| 中文一区在线播放| 日韩色av导航| 亚洲欧美日产图| 日本国产在线视频| 国产999久久久| 国产精品国产三级国产三级人妇 | 99久久免费精品高清特色大片| 日韩高清不卡av| 久久免费视频1| 精品国产无码在线观看| 精品一区二区三区日韩| 日韩av中文在线| 国产在线一区二区三区四区| 无码粉嫩虎白一线天在线观看| 日韩在线观看免| 久久99国产精品久久| 亚洲精品一区在线观看| 婷婷久久伊人| 欧美brazzers| 制服.丝袜.亚洲.中文.综合| 400部精品国偷自产在线观看 | 欧美色图校园春色| 91小视频在线免费看| 韩国精品美女www爽爽爽视频| 日日噜噜夜夜狠狠| 亚洲一级特黄毛片| 一区二区三区在线看| 亚洲精品一区在线观看| 国产玖玖精品视频| 男女污污的视频|