首先我們來看一組效果
選擇圖片文本設置完以后
選擇過程中
核心代碼解釋
# 這個函數是用來打開電腦的資源管理器選擇照片用的
def loadFile(self):
print("load--file")
# QFileDialog就是系統對話框的那個類第一個參數是上下文,第二個參數是彈框的名字,第三個參數是開始打開的路徑,第四個參數是需要的格式
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()
#讀取文本內容設置到TextEdit當中來
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_())