日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

Python PyQt5運(yùn)行程序把輸出信息展示到GUI圖形界面上

瀏覽:33日期:2022-07-27 11:26:30

概述:最近在趕畢業(yè)設(shè)計(jì),遇到一個(gè)問題,爬蟲模塊我用PyQt5寫了圖形界面,為了將所有的輸出信息都顯示到圖形界面上遇到了問題。

先演示一下效果最終效果吧,下面兩張圖用來鎮(zhèn)樓。可以看到我們圖形界面和程序運(yùn)行的返回的信息是一樣的,并且成功把數(shù)據(jù)展示到圖形界面。

Python PyQt5運(yùn)行程序把輸出信息展示到GUI圖形界面上

Python PyQt5運(yùn)行程序把輸出信息展示到GUI圖形界面上

1.怎么獲取輸出信息。eg:我們平時(shí)用編譯器,例如pycharm,運(yùn)行的時(shí)候,會(huì)有很多信息,或者直接在cmd窗口輸入命令的時(shí)候,也有同樣信息。例如我啟動(dòng)數(shù)據(jù)庫(kù)。

Python PyQt5運(yùn)行程序把輸出信息展示到GUI圖形界面上

cmd窗口下執(zhí)行命令返回的信息

Python PyQt5運(yùn)行程序把輸出信息展示到GUI圖形界面上

Pycharm運(yùn)行的效果

我就想把這種類似輸出的信息,展示到圖形界面上,上面這兩種方法本質(zhì)都是一樣的,都是在向用mysql 命令net start mysql啟動(dòng)的,前面是在cmd窗口下,后一種是用os.sysytem('net start mysql')。

2.怎么把信息發(fā)送給圖形界面展示。

解決方案:

對(duì)于問題1,需要用到PyQt其中一個(gè)模塊 :subprocess。看名字大概可以猜到是新開一個(gè)進(jìn)程去執(zhí)行某些功能。由于我是結(jié)合網(wǎng)上資料和源碼進(jìn)行運(yùn)用的, 大概簡(jiǎn)單說一些吧。

官方源碼中這么說的:

This module allows you to spawn processes, connect to theirinput/output/error pipes, and obtain their return codes.

翻譯過來就是:該模塊允許您生成進(jìn)程,連接到其輸入/輸出/錯(cuò)誤管道 并獲取其返回碼。

意思就是新開一個(gè)進(jìn)程去執(zhí)行功能,返回狀態(tài)碼,以及信息。這里要想像cmd里面或者pycharm運(yùn)行那樣,得到里面的輸出數(shù)據(jù),就要用到subprocess.Popen(cmd),或者subprocess.getstatusoutpu(cmd),subprocess.getoutpu(cmd)。都能獲取到輸出的日志信息,cmd是字符串命令。博主這里用的subprocess.get系列。就實(shí)例話展示一下。

Python PyQt5運(yùn)行程序把輸出信息展示到GUI圖形界面上

subprocess.getoutput(cmd):返回的是在Linux shell或者windows cmd窗口執(zhí)行命令返回信息。例如啟動(dòng)數(shù)據(jù)庫(kù)。

import subprocess reply=subprocess.getstatusoutput('net start mysql')print(reply)

Python PyQt5運(yùn)行程序把輸出信息展示到GUI圖形界面上

對(duì)于上面兩種情況,如果你需要狀態(tài)碼和信息就用第二種,只需要返回信息就用第一種。博主用的第二種,因?yàn)槲倚枰獱顟B(tài)碼判斷是否成功,因?yàn)槲业膱D形界面有消息盒子需要判斷。當(dāng)然你可以根據(jù)個(gè)人情況而定。

對(duì)于問題2:我這里采用是Pyqt中的信號(hào)機(jī)制,我把所有信息用信號(hào)發(fā)送出去,在用信號(hào)函數(shù)接收,連接槽函數(shù)再顯示,因?yàn)槲业墓δ鼙容^多,所以需要顯示的數(shù)據(jù),都用信號(hào)發(fā)出去。當(dāng)然你的功能單一的話,你可以直接用上面的模塊,得到返回信息顯示就行。比如我這里,有測(cè)試功能,連接數(shù)據(jù)庫(kù),關(guān)閉數(shù)據(jù)庫(kù)等,我就展示其中一個(gè)具體的例子演示。

首先得在一個(gè)類中定義信號(hào) eg:show_infoes_signal=pyqtSignal(str) str是參數(shù)

#自定義信號(hào),發(fā)送日志信息,展示到界面 show_infoes_signal=pyqtSignal(str)

在類中init初始化中寫接收信號(hào),連接槽函數(shù)。show_infoes是寫的展示函數(shù)

def __init__(self): self.show_infoes_signal.connect(self.show_infoes)

比如在某個(gè)具體功能中發(fā)送信號(hào),并把信息用哪個(gè)信號(hào)傳出去。例如我的連接數(shù)據(jù)庫(kù)的功能。

def connect_mysql(self): self.show_infoes_signal.emit('連接數(shù)據(jù)庫(kù)ing....') reply=subprocess.getstatusoutput('net start mysql') #subprocess返回狀態(tài)碼和字符串元組,0成功,其余值失敗 if reply[0]==0: # 發(fā)送數(shù)據(jù)信號(hào) self.show_infoes_signal.emit(reply[-1]) QMessageBox.information(self, '消息', 'Congratulation! 數(shù)據(jù)庫(kù)連接成功!') else: self.show_infoes_signal.emit(reply[-1]) QMessageBox.warning(self, '警告', '連接失敗')

在連接數(shù)據(jù)庫(kù)功能中,用新進(jìn)程打開,看狀態(tài)碼是否為0,為0啟動(dòng)成功,發(fā)送信號(hào)并且消息盒子提示連接成功,否則連接失敗。

最后就是展示的槽函數(shù)。當(dāng)我們發(fā)送信號(hào)后,就能接收到發(fā)送的信號(hào)以及信息,最后把拿到的信息進(jìn)行展示。

#展示信息槽函數(shù) def show_infoes(self,info): print(info) pre_text=self.show_label.text() self.show_label.setText(pre_text+info+’nn’)

到此這篇關(guān)于Python PyQt5運(yùn)行程序把輸出信息展示到GUI圖形界面上的文章就介紹到這了,更多相關(guān)Python PyQt5運(yùn)行程序GUI圖形界面內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: Python 編程
相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
你懂的国产精品永久在线| 欧美精品高清| 青草国产精品| 久久狠狠久久| 日韩电影在线视频| 视频一区欧美精品| 国产精品激情电影| 久久精品播放| 97精品久久| 日韩黄色大片| 美女尤物久久精品| 鲁大师精品99久久久| 欧美午夜精彩| 日韩国产在线一| 日本美女一区| 天堂精品久久久久| 另类专区亚洲| 日韩精品乱码av一区二区| 久久影院午夜精品| 日韩在线麻豆| 亚洲成人一区在线观看| 日韩国产在线不卡视频| 久久精品欧美一区| 国产精品亚洲成在人线| 狠狠久久婷婷| 粉嫩av一区二区三区四区五区| 亚洲一区免费| 国产一区二区三区不卡视频网站| 午夜亚洲福利在线老司机| 久草精品视频| 蜜臀久久久久久久| 日韩欧美综合| 欧美日韩一区自拍| 国产一区清纯| 鲁大师精品99久久久| 亚洲字幕久久| 久久亚洲精品中文字幕蜜潮电影| 国产精品一区二区中文字幕| 欧美精品一区二区三区精品| 欧美成a人片免费观看久久五月天| av成人国产| 日韩精品91| 国产精品欧美在线观看| 99国产成+人+综合+亚洲欧美| 国产精品毛片久久| 国产乱论精品| 亚洲综合中文| 欧美精品黄色| av高清不卡| 国产精品片aa在线观看| 亚洲在线网站| 日本精品在线中文字幕| 欧美激情精品| 日韩精品视频网站| 在线亚洲国产精品网站| 美女福利一区二区三区| 久久不卡国产精品一区二区| 中文字幕亚洲精品乱码| 欧美日韩国产免费观看 | 美女网站视频一区| 国产激情精品一区二区三区| 先锋影音久久久| 久久久成人网| av免费不卡国产观看| 久久久91麻豆精品国产一区| 视频一区中文字幕精品| 亚洲一区二区三区高清不卡| 欧美日韩在线观看视频小说| 精品一区二区三区在线观看视频 | 蜜桃成人av| 亚洲深夜视频| 国产一区二区三区不卡视频网站 | 亚洲精品欧美| 日韩午夜av| 亚洲一级影院| 久久视频一区| 成人一区而且| 欧美激情福利| 日韩国产欧美三级| 国产视频亚洲| 国产国产精品| 欧美xxxx中国| 国产日韩欧美中文在线| 日本不卡中文字幕| 亚久久调教视频| 亚洲一区导航| 亚洲一级淫片| 一区二区不卡| 亚洲综合婷婷| 亚洲精品三级| 麻豆亚洲精品| 模特精品在线| 在线亚洲自拍| 亚洲欧美视频| 美国欧美日韩国产在线播放| 日韩中文字幕麻豆| 激情久久五月| 亚洲国产一区二区三区在线播放| 香蕉成人av| 亚洲a一区二区三区| www.51av欧美视频| 夜鲁夜鲁夜鲁视频在线播放| zzzwww在线看片免费| 日本一区二区免费高清| а√天堂8资源中文在线| 国产一区三区在线播放| 老色鬼精品视频在线观看播放| 国产精品一区2区3区| 国产亚洲电影| 国产高清精品二区| 国产 日韩 欧美 综合 一区| 久久99国产精品视频| 国产精品亚洲欧美日韩一区在线 | 激情国产在线| 三级小说欧洲区亚洲区| 欧洲在线一区| 免费成人网www| 狠狠色综合网| 三级欧美在线一区| 日韩av在线免费观看不卡| 色婷婷成人网| 国产精品jk白丝蜜臀av小说| 国产精品久久久久久久久久齐齐| 免费在线播放第一区高清av| 精品视频亚洲| 欧美日韩尤物久久| 伊人成人在线视频| 亚洲精品欧洲| 国产精品日韩精品在线播放| 麻豆成人av在线| 蜜臀国产一区| 一区在线免费| 午夜视频一区二区在线观看| 国产精品亚洲产品| 久草免费在线视频| 红桃视频亚洲| 日韩一区二区三区在线看| 日韩av二区在线播放| 国产精品久久久久久模特| 国产一区二区三区视频在线| 韩国三级一区| 免费久久99精品国产| 国产精品久久久网站| 久久久久久婷| 国产美女精品| 国产精品男女| 亚洲二区视频| 欧美日一区二区在线观看| 中文字幕人成乱码在线观看| 久久国产精品久久w女人spa| 国产麻豆精品久久| 日韩精品麻豆| 丝袜美腿成人在线| 国产精品白浆| 欧美成人综合| 国产欧美日本| 欧美精品羞羞答答| 国产精品乱战久久久| 欧美va天堂| 久久国产三级| 精品在线99| 欧美激情亚洲| 国产一区二区三区自拍| 国产女人18毛片水真多18精品| 欧美sss在线视频| 欧美一区久久| 婷婷激情图片久久| 国产调教一区二区三区| 99久久夜色精品国产亚洲狼| 日本a级不卡| 99久久99久久精品国产片果冰| 色婷婷成人网| 亚洲精品.com| 国产精品最新| 欧美午夜不卡| 国内精品美女在线观看| 中文视频一区| 桃色一区二区| 免费在线日韩av| 男人操女人的视频在线观看欧美| 精品国产乱码| 亚洲香蕉视频| 快播电影网址老女人久久| 日韩av午夜在线观看| 亚洲二区免费| 国产在线一区不卡| 欧美亚洲福利| 老鸭窝亚洲一区二区三区| 国产 日韩 欧美一区| 欧美日一区二区三区在线观看国产免| 亚洲爱爱视频| 国产极品久久久久久久久波多结野 | 亚州国产精品| 久久狠狠婷婷| 国产麻豆一区二区三区| 噜噜噜躁狠狠躁狠狠精品视频 | 亚洲三级精品| 亚洲激情五月| 日本不卡免费高清视频在线| 国产日韩一区二区三区在线|