Use of commonly used controls in python-20-pyqt5

1 File dialog box QFileDialog

Select the folder QFileDialog.getExistingDirectory()
Select the file QFileDialog.getOpenFileName()
Select multiple files QFileDialog.getOpenFileNames()
Select the save file QFileDialog.getSaveFileName()

注意:文件筛选参数设置。文件扩展名过滤,用双分号间隔。
"All Files (*);;PDF Files (*.pdf);;Text Files (*.txt)

Return file path and file type
Test code

import sys
import os
from PyQt5.QtWidgets import *

class MainForm(QWidget):
    def __init__(self, name = 'MainForm'):
        super(MainForm,self).__init__()
        self.setWindowTitle(name)
        self.cwd = os.getcwd() # 获取当前程序文件位置
        self.resize(300,200)   # 设置窗体大小

        # 设置按钮
        self.btn_chooseFile = QPushButton(self)
        self.btn_chooseFile.setObjectName("btn_chooseFile")
        self.btn_chooseFile.setText("选取文件")

        # 设置布局
        layout = QVBoxLayout()
        layout.addWidget(self.btn_chooseFile)
        self.setLayout(layout)

        # 设置信号
        self.btn_chooseFile.clicked.connect(self.slot_btn_chooseFile)

    def slot_btn_chooseFile(self):
        fileName_choose, filetype = QFileDialog.getOpenFileName(self,
                                    "选取文件",
                                    self.cwd, # 起始路径
                                    "All Files (*);;Text Files (*.txt)")   # 设置文件扩展名过滤,用双分号间隔

        if fileName_choose == "":
            print("\n取消选择")
            return

        print("\n你选择的文件为:")
        print(fileName_choose)
        print("文件筛选器类型: ",filetype)

if __name__=="__main__":
    app = QApplication(sys.argv)
    mainForm = MainForm('测试QFileDialog')
    mainForm.show()
    sys.exit(app.exec_())

Insert picture description here

Guess you like

Origin blog.csdn.net/qq_20466211/article/details/111039621