700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > PyQt5学习:通过按钮控件打开windows系统文件软件(文件资源管理器)的文件夹进行浏览文

PyQt5学习:通过按钮控件打开windows系统文件软件(文件资源管理器)的文件夹进行浏览文

时间:2019-04-03 18:09:43

相关推荐

PyQt5学习:通过按钮控件打开windows系统文件软件(文件资源管理器)的文件夹进行浏览文

1、前言

在学习Pyqt5过程中,遇到了想通过按钮等控件打开文件夹,类似于下面(图1)的 '打开文件夹一样' 的效果

(图1)

本来以为PyQt5会有类似于QFileDialog的文件对话框进行文件夹打开浏览,但并没有发现。

在进一步查找资料发现可以通过Python中内置os模块库可以达到打开文件夹要求。

2、pyqt5实现打开文件夹

首先在D盘新建一个用于测试的文件夹(我的如下面图2)

(图2)

下面直接放代码,创建py文件直接复制即可使用。

# -*- coding: utf-8 -*-# Form implementation generated from reading ui file 'openfoldertest.ui'## Created by: PyQt5 UI code generator 5.13.0## WARNING! All changes made in this file will be lost!from PyQt5 import QtCore, QtGui, QtWidgetsclass Ui_Form(object):def setupUi(self, Form):Form.setObjectName("Form")Form.resize(320, 240)self.pushButton = QtWidgets.QPushButton(Form)self.pushButton.setGeometry(QtCore.QRect(80, 80, 111, 31))self.pushButton.setObjectName("pushButton")self.retranslateUi(Form)#点击按钮信号传送到打开文件夹函数self.pushButton.clicked.connect(self.openfolder)QtCore.QMetaObject.connectSlotsByName(Form)def retranslateUi(self, Form):_translate = QtCore.QCoreApplication.translateForm.setWindowTitle(_translate("Form", "Form"))self.pushButton.setText(_translate("Form", "打开文件夹"))def openfolder(self,Form):'''打开系统文件资源管理器的对应文件夹'''import osfolder = r'D:\aatest'#方法1:通过start exploreros.system("start explorer %s" %folder)# 方法2:通过startfileos.startfile(folder)if __name__ == "__main__":import sysQtCore.QCoreApplication.setAttribute(QtCore.Qt.AA_EnableHighDpiScaling)# 适配2k等高分辨率屏幕,低分辨率屏幕可除去app = QtWidgets.QApplication(sys.argv)Form = QtWidgets.QWidget()ui = Ui_Form()ui.setupUi(Form)Form.show()sys.exit(app.exec_())

运行点击‘打开文件夹按钮’结果如下面图3

(图3)

3、分析与说明

如上面代码,我用了两种方法打开文件夹,所以会弹出两个文件软件窗口。在实际使用选其一即可。比较推荐方法2。

方法1:

#方法1:通过start exploreros.system("start explorer %s" %folder)

方法2:

# 方法2:通过startfileos.startfile(folder)

PyQt5学习:通过按钮控件打开windows系统文件软件(文件资源管理器)的文件夹进行浏览文件夹下所有文件

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。