PyQt5按下按鍵選擇文件夾并顯示的實現(xiàn)
更新時間:2021年03月17日 10:16:40 投稿:jingxian
這篇文章主要介紹了PyQt5按下按鍵選擇文件夾并顯示的實現(xiàn)方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
問題:
使用PyQt5開發(fā)桌面程序,實現(xiàn)功能為:按下按鍵,打開文件夾,選擇文件夾,并將路徑顯示出來。
解決方法:
一、主要函數(shù)(直接能運行的代碼見二)
1、選擇文件夾并顯示
def msg(self,Filepath):
directory = QtWidgets.QFileDialog.getExistingDirectory(None,"選取文件夾","C:/") # 起始路徑
self.fileT.setText(directory)
2、選擇文件
def msg(self,Filepath):
directory = QtWidgets.QFileDialog.getOpenFileName(self, "選取文件","./", "All Files (*);;Text Files (*.txt)")
#當窗口非繼承QtWidgets.QDialog時,self需替換成 None
3、選擇多個文件
def msg(self,Filepath):
directory = QtWidgets.QFileDialog.getOpenFileNames(self, self, "選取多個文件", "./","All Files (*);;Text Files (*.txt)")
#當窗口非繼承QtWidgets.QDialog時,self需替換成 None
4、設置保存文件路徑
def msg(self,Filepath):
directory = QtWidgets.QFileDialog.getSaveFileName(self, "設置路徑","./","All Files (*);;Text Files (*.txt)")
#當窗口非繼承QtWidgets.QDialog時,self需替換成 None
二、一個功能為按下按鍵選擇文件夾并顯示路徑的demo。
(從項目里摘出來的,不太精致,但運行沒問題)
from PyQt5 import QtCore, QtWidgets
import sys
##########################################
#ui界面設置
class Ui_MainWindow(object):
def setupUi(self, MainWindow):
#主窗口參數(shù)設置
MainWindow.setObjectName("MainWindow")
MainWindow.resize(848, 721)
self.centralwidget = QtWidgets.QWidget(MainWindow)
self.centralwidget.setObjectName("centralwidget")
# 設置按鍵參數(shù)
self.file = QtWidgets.QPushButton(self.centralwidget)
self.file.setGeometry(QtCore.QRect(57, 660, 175, 28))
self.file.setObjectName("file")
self.file.setStyleSheet(" margin: 0px; padding: 0px;">)
self.file.setStyleSheet(
"QPushButton{ margin: 0px; padding: 0px;">"QPushButton:hover{color:green}" # 光標移動到上面后的前景色
"QPushButton{border-radius:6px}" # 圓角半徑
"QPushButton:pressed{border: None;}" # 按下時的樣式
)
# 設置顯示窗口參數(shù)
self.fileT = QtWidgets.QPushButton(self.centralwidget)
self.fileT.setGeometry(QtCore.QRect(300, 660, 480, 28))
self.fileT.setObjectName("file")
self.fileT.setStyleSheet(" margin: 0px; padding: 0px;">)
self.fileT.setStyleSheet(
"QPushButton{ margin: 0px; padding: 0px;">"QPushButton:hover{color:green}" # 光標移動到上面后的前景色
"QPushButton{border-radius:6px}" # 圓角半徑
"QPushButton:pressed{border: None;}" # 按下時的樣式
)
#主窗口及菜單欄標題欄設置
MainWindow.setCentralWidget(self.centralwidget)
self.menubar = QtWidgets.QMenuBar(MainWindow)
self.menubar.setGeometry(QtCore.QRect(0, 0, 848, 26))
self.menubar.setObjectName("menubar")
MainWindow.setMenuBar(self.menubar)
self.statusbar = QtWidgets.QStatusBar(MainWindow)
self.statusbar.setObjectName("statusbar")
MainWindow.setStatusBar(self.statusbar)
self.retranslateUi(MainWindow)
QtCore.QMetaObject.connectSlotsByName(MainWindow)
################button按鈕點擊事件回調(diào)函數(shù)################
self.file.clicked.connect(self.msg)
def retranslateUi(self, MainWindow):
_translate = QtCore.QCoreApplication.translate
MainWindow.setWindowTitle(_translate("MainWindow", "Deecamp_Eurus"))
self.file.setText(_translate("MainWindow", "選擇文件"))
self.fileT.setText(_translate("MainWindow", ""))
#########選擇圖片文件夾#########
def msg(self,Filepath):
m = QtWidgets.QFileDialog.getExistingDirectory(None,"選取文件夾","C:/") # 起始路徑
self.fileT.setText(m)
#########主函數(shù)入口 #########
if __name__ == '__main__':
app = QtWidgets.QApplication(sys.argv)
mainWindow = QtWidgets.QMainWindow()
ui = Ui_MainWindow()
ui.setupUi(mainWindow)
mainWindow.show()
sys.exit(app.exec_())
運行效果為:

以上。
補充:pyqt5按鈕事件打開文件
如下所示:
self.pushButton.clicked.connect(self.btn1_click)#設置綁定事件 def btn1_click(self): filename,_=QFileDialog.getOpenFileName(QWidget(),'open',r"E:\images1") #打開文件或者如下:getOpenFileName第一個參數(shù)要求是QWidget對象 #filename,_=QFileDialog.getOpenFileName(None,'open',r"E:\images1",' ') img=QImage() img.load(filename) #更改圖片大小,適應graphicsView窗口大小 img=img.scaled(self.graphicsView.width(),self.graphicsView.height()) #一個問題是:img=img.scaled(width=self.graphicsView.width(),height=self.graphicsView.height())這樣 #會出錯,不知道什么原因 scene = QGraphicsScene () scene. addPixmap ( QPixmap (). fromImage (img)) self .graphicsView. setScene (scene)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。
相關文章
Pandas中Concat與Append的實現(xiàn)與區(qū)別小結
本文主要介紹了Pandas中Concat與Append的實現(xiàn)與區(qū)別小結,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2023-11-11
對Python生成漢字字庫文字,以及轉換為文字圖片的實例詳解
今天小編就為大家分享一篇對Python生成漢字字庫文字,以及轉換為文字圖片的實例詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-01-01
Python實現(xiàn)爆破ZIP文件(支持純數(shù)字,數(shù)字+字母,密碼本)
這篇文章主要為大家分享了如何利用Python實現(xiàn)破解zip文件的密碼,能實現(xiàn)破解純數(shù)字、數(shù)字+字母、密碼本等種類的密碼,需要的可以參考一下2022-03-03

