zoukankan      html  css  js  c++  java
  • PyQt5-对话框控件使用(QFileDialog)

    QFileDialog是用于打开和保存文件的标准对话框。 QFileDialog类继承QDialog类;

    QFileDialog在打开文件时使用了文本过滤器,用于显示指定扩展名的文件。也可以设置使用QFileDialog打开文件时的起始目录和指定扩展名的文件。

    常用方法:

     例如:

     1 #QFileDialog对话框使用
     2 from PyQt5.QtWidgets import QFileDialog,QTextEdit,QFontDialog, QLineEdit,QStyle,QFormLayout, QInputDialog,QVBoxLayout,QWidget,QApplication ,QHBoxLayout,QDialog,QPushButton,QMainWindow,QGridLayout,QLabel
     3 from PyQt5.QtCore import QDir
     4 from PyQt5.QtGui import QIcon,QPixmap,QFont
     5 from PyQt5.QtCore import  Qt
     6 
     7 import sys
     8 
     9 class WindowClass(QWidget):
    10 
    11     def __init__(self,parent=None):
    12 
    13         super(WindowClass, self).__init__(parent)
    14         layout=QVBoxLayout()
    15         self.btn=QPushButton("加载图片")
    16         self.btn.clicked.connect(self.getFile)
    17         layout.addWidget(self.btn)
    18 
    19         self.le=QLabel("")
    20         layout.addWidget(self.le)
    21 
    22         self.btn1=QPushButton("加载文本文件")
    23         self.btn1.clicked.connect(self.getText)
    24         layout.addWidget(self.btn1)
    25 
    26         self.contents=QTextEdit()
    27         layout.addWidget(self.contents)
    28 
    29         self.setLayout(layout)
    30         self.setWindowTitle("File Dialog Demo")
    31 
    32     def getFile(self):
    33         fname,_ =QFileDialog.getOpenFileName(self,'OpenFile',"c:/","Image files (*.jpg *.gif *.png)")
    34         """
    35         参数一:设置父组件
    36         参数二:QFileDialog的标题
    37         参数三:默认打开的目录,“.”点表示程序运行目录,/表示当前盘符根目录
    38         参数四:对话框的文件扩展名过滤器Filter,比如使用 Image files(*.jpg *.gif) 表示只能显示扩展名为.jpg或者.gif文件
    39         设置多个文件扩展名过滤,使用双引号隔开;
    40         “All Files(*);;PDF Files(*.pdf);;Text Files(*.txt)”
    41         """
    42         self.le.setPixmap(QPixmap(fname))
    43     def getText(self):
    44         dialog=QFileDialog()
    45         dialog.setFileMode(QFileDialog.AnyFile)#可选任意文件
    46         dialog.setFilter(QDir.Files)
    47 
    48         if dialog.exec_():#该方法用于选择文件,如果选中文件则返回true
    49             filenames=dialog.selectedFiles()#获取选中文件名列表
    50             print(filenames)
    51             f=open(filenames[0],'r')
    52             with f:
    53                 data=f.read()
    54                 self.contents.setText(data)
    55 
    56 
    57 if __name__=="__main__":
    58     app=QApplication(sys.argv)
    59     win=WindowClass()
    60     win.show()
    61     sys.exit(app.exec_())

  • 相关阅读:
    nginx 按天生成日志
    cmder
    EXCEL最大行数问题:org.apache.xmlbeans.impl.store.Saver$TextSaver.resize(Saver.java:1700)
    nginx configure 错误记录
    Flume NetCat Demo
    Flume
    hbase
    kafka安装配置
    azkaban
    sqoop
  • 原文地址:https://www.cnblogs.com/ygzhaof/p/10065747.html
Copyright © 2011-2022 走看看