PyQt5 加載圖片和文本文件的實(shí)例
更新時(shí)間:2019年06月14日 11:42:08 作者:京城最明亮的少年
今天小編就為大家分享一篇PyQt5 加載圖片和文本文件的實(shí)例,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
首先我們來看一組效果
選擇圖片文本設(shè)置完以后
選擇過程中
核心代碼解釋
# 這個(gè)函數(shù)是用來打開電腦的資源管理器選擇照片用的 def loadFile(self): print("load--file") # QFileDialog就是系統(tǒng)對話框的那個(gè)類第一個(gè)參數(shù)是上下文,第二個(gè)參數(shù)是彈框的名字,第三個(gè)參數(shù)是開始打開的路徑,第四個(gè)參數(shù)是需要的格式 fname, _ = QFileDialog.getOpenFileName(self, '選擇圖片', 'c:\\', 'Image files(*.jpg *.gif *.png)') self.label.setPixmap(QPixmap(fname)) # 這個(gè)函數(shù)是打開文本選擇器,加載文本的函數(shù) def load_text(self): print("load--text") #初始化這個(gè)實(shí)例,設(shè)置一些基本屬性 dlg = QFileDialog() dlg.setFileMode(QFileDialog.AnyFile) dlg.setFilter(QDir.Files) # 當(dāng)選擇器關(guān)閉的時(shí)候 if dlg.exec_(): # 拿到所選擇的的文本 filenames = dlg.selectedFiles() #讀取文本內(nèi)容設(shè)置到TextEdit當(dāng)中來 f = open(filenames[0], 'r') with f: data = f.read() self.content.setText(data)
完整代碼
import sys from PyQt5.QtCore import * from PyQt5.QtGui import * from PyQt5.QtWidgets import * class filedialogdemo(QWidget): def __init__(self, parent=None): super(filedialogdemo, self).__init__(parent) layout = QVBoxLayout() self.btn = QPushButton() self.btn.clicked.connect(self.loadFile) self.btn.setText("從文件中獲取照片") layout.addWidget(self.btn) self.label = QLabel() layout.addWidget(self.label) self.btn_2 = QPushButton() self.btn_2.clicked.connect(self.load_text) self.btn_2.setText("加載電腦文本文件") layout.addWidget(self.btn_2) self.content = QTextEdit() layout.addWidget(self.content) self.setWindowTitle("測試") self.setLayout(layout) def loadFile(self): print("load--file") fname, _ = QFileDialog.getOpenFileName(self, '選擇圖片', 'c:\\', 'Image files(*.jpg *.gif *.png)') self.label.setPixmap(QPixmap(fname)) def load_text(self): print("load--text") dlg = QFileDialog() dlg.setFileMode(QFileDialog.AnyFile) dlg.setFilter(QDir.Files) if dlg.exec_(): filenames = dlg.selectedFiles() f = open(filenames[0], 'r') with f: data = f.read() self.content.setText(data) if __name__ == '__main__': app = QApplication(sys.argv) fileload = filedialogdemo() fileload.show() sys.exit(app.exec_())
以上這篇PyQt5 加載圖片和文本文件的實(shí)例就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Python高級數(shù)據(jù)分析之pandas和matplotlib繪圖
Matplotlib是一個(gè)強(qiáng)大的Python繪圖和數(shù)據(jù)可視化的工具包,下面這篇文章主要給大家介紹了關(guān)于Python高級數(shù)據(jù)分析之pandas和matplotlib繪圖的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-05-05python深度學(xué)習(xí)TensorFlow神經(jīng)網(wǎng)絡(luò)模型的保存和讀取
這篇文章主要為大家介紹了python深度學(xué)習(xí)TensorFlow神經(jīng)網(wǎng)絡(luò)如何將訓(xùn)練得到的模型保存下來方便下次直接使用。為了讓訓(xùn)練結(jié)果可以復(fù)用,需要將訓(xùn)練好的神經(jīng)網(wǎng)絡(luò)模型持久化2021-11-11Python使用Redis實(shí)現(xiàn)作業(yè)調(diào)度系統(tǒng)(超簡單)
Redis作為內(nèi)存數(shù)據(jù)庫的一個(gè)典型代表,已經(jīng)在很多應(yīng)用場景中被使用,這里僅就Redis的pub/sub功能來說說怎樣通過此功能來實(shí)現(xiàn)一個(gè)簡單的作業(yè)調(diào)度系統(tǒng)。這里只是想展現(xiàn)一個(gè)簡單的想法,所以還是有很多需要考慮的東西沒有包括在這個(gè)例子中,比如錯(cuò)誤處理,持久化等2016-03-03Python下使用Psyco模塊優(yōu)化運(yùn)行速度
這篇文章主要介紹了Python下使用Psyco模塊優(yōu)化運(yùn)行速度,Psyco模塊可以使你的Python程序運(yùn)行的像C語言一樣快,本文給出了多個(gè)代碼示例,并講解了Psyco的安裝和使用方法,需要的朋友可以參考下2015-04-048段用于數(shù)據(jù)清洗Python代碼(小結(jié))
這篇文章主要介紹了8段用于數(shù)據(jù)清洗Python代碼(小結(jié)),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-10-10