欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python GUI庫圖形界面開發(fā)之PyQt5打開保存對話框QFileDialog詳細使用方法與實例

 更新時間:2020年02月27日 15:20:02   作者:jia666666  
這篇文章主要介紹了python GUI庫圖形界面開發(fā)之PyQt5打開保存對話框QFileDialog詳細使用方法與實例,需要的朋友可以參考下

PyQt5打開保存對話框QFileDialog介紹

QFIleDialog是用于打開和保存文件的標準對話框。QFileDialog類繼承自QDialog類

QFileDialog在打開文件時使用可文件過濾器,用于顯示指定擴展名的文件,也可以設置使用QFileDialog打開文件時的起始目錄和指定擴展名的文件

QFileDialog類中的常用方法

方法 描述
getOpenFileName() 返回用戶所選擇文件的名稱,并打開該文件
getSaveFileName() 使用用戶選擇的文件名保存文件
setFileMode() 可以選擇的文件類型,枚舉常量是:
QFileDialog.AnyFile:任何文件
QFileDialog.ExistingFile:已存在的文件
QFileDialog.Directory:文件目錄
QFileDialog.ExistingFiles:已經存在的多個文件
setFilter() 設置過濾器,只顯示過濾器允許的文件類型

QFileDialog使用實例

import sys
from PyQt5.QtCore import *
from PyQt5.QtWidgets import *
from PyQt5.QtGui import *

class fileDialogdemo(QWidget):
  def __init__(self,parent=None):
    super(fileDialogdemo, self).__init__(parent)

    #垂直布局
    layout=QVBoxLayout()

    #創(chuàng)建按鈕,綁定自定義的槽函數,添加到布局中
    self.btn=QPushButton("加載圖片")
    self.btn.clicked.connect(self.getimage)
    layout.addWidget(self.btn)

    #創(chuàng)建標簽,添加到布局中
    self.le=QLabel('')
    layout.addWidget(self.le)

    #創(chuàng)建按鈕,綁定自定義的槽函數,添加到布局
    self.btn1=QPushButton('加載文本文件')
    self.btn1.clicked.connect(self.getFiles)
    layout.addWidget(self.btn1)

    #實例化多行文本框,添加到布局
    self.contents=QTextEdit()
    layout.addWidget(self.contents)

    #設置主窗口的布局及標題
    self.setLayout(layout)
    self.setWindowTitle('File Dialog 例子')

  def getimage(self):
    #從C盤打開文件格式(*.jpg *.gif *.png *.jpeg)文件,返回路徑
    image_file,_=QFileDialog.getOpenFileName(self,'Open file','C:\\','Image files (*.jpg *.gif *.png *.jpeg)')
    #設置標簽的圖片
    self.le.setPixmap(QPixmap(image_file))
  def getFiles(self):
    #實例化QFileDialog
    dig=QFileDialog()
    #設置可以打開任何文件
    dig.setFileMode(QFileDialog.AnyFile)
    #文件過濾
    dig.setFilter(QDir.Files)

    if dig.exec_():
      #接受選中文件的路徑,默認為列表
      filenames=dig.selectedFiles()
      #列表中的第一個元素即是文件路徑,以只讀的方式打開文件
      f=open(filenames[0],'r')

      with f:
        #接受讀取的內容,并顯示到多行文本框中
        data=f.read()
        self.contents.setText(data)
if __name__ == '__main__':
  app=QApplication(sys.argv)
  ex=fileDialogdemo()
  ex.show()
  sys.exit(app.exec_())

效果如下

代碼分析

在這個例子里,通過文件對話框來選擇文件,其中第一個文件對話框只允許打開圖片文件,并把加載的圖片顯示在標簽上,第二個文件對話框只允許打開文本文件,并把打開的文本內容顯示在文本框內

第一個按鈕使用QFileDialog.getOpenFilename(),調用文件對話框來顯示圖片,并顯示在一個標簽控件中,它負責打開c盤目錄下的為文件,核心代碼如下

#從C盤打開文件格式(*.jpg *.gif *.png *.jpeg)文件,返回路徑
image_file,_=QFileDialog.getOpenFileName(self,'Open file','C:\\','Image files (*.jpg *.gif *.png *.jpeg)')
#設置標簽的圖片
self.le.setPixmap(QPixmap(image_file))

在QFIleDialog.getOpenFileName()函數中

第一個參數self:用于指定父組件

第二個參數‘open file':是QFileDialog對話框的標題

第三個參數‘C:\'默認打開的目錄,‘.'代表程序運行的目錄,‘/'代表當前盤下的根目錄(window.linux系統),需要注意的是不同路徑的顯示方式,比如window平臺下的C盤“C:\”等

第四個參數是對話框中文件擴展名過濾器(fliter),比如使用'Image files (.jpg .gif .png .jpeg)'表示只能顯示擴展名為.jpg,.gif等文件

第二個安妞使用文件對話框(QFileDialog)對象的exec_()方法來選擇文件,并把所選的文件的內容顯示在文本編譯控件中,核心代碼

  def getFiles(self):
    #實例化QFileDialog
    dig=QFileDialog()
    #設置可以打開任何文件
    dig.setFileMode(QFileDialog.AnyFile)
    #文件過濾
    dig.setFilter(QDir.Files)

    if dig.exec_():
      #接受選中文件的路徑,默認為列表
      filenames=dig.selectedFiles()
      #列表中的第一個元素即是文件路徑,以只讀的方式打開文件
      f=open(filenames[0],'r')

      with f:
        #接受讀取的內容,并顯示到多行文本框中
        data=f.read()
        self.contents.setText(data)

本文詳細講解了PyQt5打開保存對話框QFileDialog詳細使用方法與實例,大家可以參考一下,更多關于這方面的知識請查看下面的相關鏈接

相關文章

  • python環(huán)形單鏈表的約瑟夫問題詳解

    python環(huán)形單鏈表的約瑟夫問題詳解

    這篇文章主要為大家詳細介紹了python環(huán)形單鏈表的約瑟夫問題,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-09-09
  • python使用NumPy文件的讀寫操作

    python使用NumPy文件的讀寫操作

    這篇文章主要介紹了python使用NumPy讀寫文本文件。想了解第三方庫文件操作的同學,來看一下吧
    2021-04-04
  • 使用requests庫制作Python爬蟲

    使用requests庫制作Python爬蟲

    Requests是用python語言基于urllib編寫的,采用的是Apache2 Licensed開源協議的HTTP庫,Requests它會比urllib更加方便,可以節(jié)約我們大量的工作。一句話,requests是python實現的最簡單易用的HTTP庫,建議爬蟲使用requests庫。
    2018-03-03
  • Python如何通過Flask-Mail發(fā)送電子郵件

    Python如何通過Flask-Mail發(fā)送電子郵件

    這篇文章主要介紹了Python如何通過Flask-Mail發(fā)送電子郵件,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-01-01
  • Python實現多線程下載腳本的示例代碼

    Python實現多線程下載腳本的示例代碼

    這篇文章主要介紹了Python實現多線程下載腳本的示例代碼,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-04-04
  • python中selenium操作下拉滾動條的幾種方法匯總

    python中selenium操作下拉滾動條的幾種方法匯總

    這篇文章主要介紹了python中selenium操作下拉滾動條的幾種方法匯總,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-07-07
  • python中邏輯與或(and、or)和按位與或異或(&、|、^)區(qū)別

    python中邏輯與或(and、or)和按位與或異或(&、|、^)區(qū)別

    這篇文章主要介紹了python中邏輯與或(and、or)和按位與或異或(&、|、^)區(qū)別,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-08-08
  • django-csrf使用和禁用方式

    django-csrf使用和禁用方式

    這篇文章主要介紹了django-csrf使用和禁用方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-03-03
  • Python監(jiān)測屏幕界面內容變化并發(fā)送通知方法詳解

    Python監(jiān)測屏幕界面內容變化并發(fā)送通知方法詳解

    這篇文章主要為大家介紹了Python監(jiān)測屏幕界面內容變化并發(fā)送通知,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-06-06
  • python必備庫Matplotlib畫圖神器

    python必備庫Matplotlib畫圖神器

    這篇文章主要介紹了python必備庫Matplotlib畫圖神器,Matplotlib 是 Python 中最受歡迎的數據可視化軟件包之一,支持跨平臺運行,它是 Python 常用的 2D 繪圖庫,同時它也提供了一部分 3D 繪圖接口,更多詳細內容,需要的小伙伴可以參考一下下面文章具體內容
    2022-03-03

最新評論