濮阳杆衣贸易有限公司

主頁 > 知識庫 > PyQt5按下按鍵選擇文件夾并顯示的實現(xiàn)

PyQt5按下按鍵選擇文件夾并顯示的實現(xiàn)

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

問題:

使用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)") 
 #當(dāng)窗口非繼承QtWidgets.QDialog時,self需替換成 None

3、選擇多個文件

  def msg(self,Filepath):
    directory = QtWidgets.QFileDialog.getOpenFileNames(self, self, "選取多個文件", "./","All Files (*);;Text Files (*.txt)") 
 #當(dāng)窗口非繼承QtWidgets.QDialog時,self需替換成 None

4、設(shè)置保存文件路徑

  def msg(self,Filepath):
    directory = QtWidgets.QFileDialog.getSaveFileName(self, "設(shè)置路徑","./","All Files (*);;Text Files (*.txt)") 
 #當(dāng)窗口非繼承QtWidgets.QDialog時,self需替換成 None

二、一個功能為按下按鍵選擇文件夾并顯示路徑的demo。

(從項目里摘出來的,不太精致,但運行沒問題)

from PyQt5 import QtCore, QtWidgets
import sys
##########################################
#ui界面設(shè)置
class Ui_MainWindow(object):
  def setupUi(self, MainWindow):
  
    #主窗口參數(shù)設(shè)置
    MainWindow.setObjectName("MainWindow")
    MainWindow.resize(848, 721)
    self.centralwidget = QtWidgets.QWidget(MainWindow)
    self.centralwidget.setObjectName("centralwidget")
    # 設(shè)置按鍵參數(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}" # 光標(biāo)移動到上面后的前景色
      "QPushButton{border-radius:6px}" # 圓角半徑
      "QPushButton:pressed{border: None;}" # 按下時的樣式
    )
    # 設(shè)置顯示窗口參數(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}" # 光標(biāo)移動到上面后的前景色
      "QPushButton{border-radius:6px}" # 圓角半徑
      "QPushButton:pressed{border: None;}" # 按下時的樣式
    )
    #主窗口及菜單欄標(biāo)題欄設(shè)置
    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)#設(shè)置綁定事件
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)
#更改圖片大小,適應(yīng)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)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。

您可能感興趣的文章:
  • PyQt5 QListView 高亮顯示某一條目的案例
  • pyqt5 QListWidget的用法解析
  • Pyqt5 實現(xiàn)多線程文件搜索的案例
  • 關(guān)于PyQt5主窗口圖標(biāo)顯示問題匯總
  • PyQt5設(shè)置登錄界面及界面美化的實現(xiàn)
  • 使用pyqt5 實現(xiàn)ComboBox的鼠標(biāo)點擊觸發(fā)事件

標(biāo)簽:內(nèi)江 黔東 渭南 廊坊 興安盟 拉薩 綿陽 亳州

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《PyQt5按下按鍵選擇文件夾并顯示的實現(xiàn)》,本文關(guān)鍵詞  PyQt5,按下,按鍵,選擇,文件夾,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《PyQt5按下按鍵選擇文件夾并顯示的實現(xiàn)》相關(guān)的同類信息!
  • 本頁收集關(guān)于PyQt5按下按鍵選擇文件夾并顯示的實現(xiàn)的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    甘德县| 阿拉善右旗| 宣汉县| 古田县| 绥德县| 克东县| 汨罗市| 昭觉县| 乌兰浩特市| 石首市| 远安县| 虎林市| 扎囊县| 舞阳县| 金山区| 疏附县| 青岛市| 山东| 闸北区| 南江县| 精河县| 甘孜县| 洛南县| 兴化市| 分宜县| 买车| 普洱| 永川市| 北流市| 简阳市| 柳江县| 衡山县| 南澳县| 武鸣县| 沅江市| 南阳市| 巴林右旗| 昆明市| 察哈| 建湖县| 堆龙德庆县|