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系统文件软件(文件资源管理器)的文件夹进行浏览文件夹下所有文件相关推荐
- PyQt5学习--基本窗口控件--QLabel
参考书籍<PyQt5 快速开发与实战>王硕 孙洋洋 著 介绍 QLabel对象作为一个占位符可以显示不可编辑的文本或图片,也可以放置一个GIF动画,还可以被用作提示标记为其他控件.纯文本. ...
- PyQt5学习--基本窗口控件--QMainWindow
参考书籍<PyQt5 快速开发与实战>王硕 孙洋洋 著 QMainWindow主窗口为用户提供一个应用程序框架,它有自己的布局,可以在布局中添加控件.比如将工具栏.菜单栏和状态栏等添加到布 ...
- 【pyqt5学习】——tablewidget控件学习
目录 1.Table Widget 1.QTableWidget不能在mainwindow中随主窗口的大小变化? 2.将表格变为禁止编辑: 3.设置表格为整行选择 4.单个选中和多个选中的设置: 5. ...
- PyQt5学习--基本窗口控件--加载文件-QFileDialog
参考书籍<PyQt5 快速开发与实战>王硕 孙洋洋 著 介绍 QFileDialog是用来打开和保存文件的标准对话框.QFileDialog类继承自QDialog类. QFileDialo ...
- PyQt5学习--基本窗口控件--QButton类控件
参考书籍<PyQt5 快速开发与实战>王硕 孙洋洋 著 介绍 PyQt5按钮的基类是QAbstractButton,为抽象类,不能实例化. 常见的按钮类有:QPushButton.QToo ...
- VS2010/MFC编程入门之二十三(常用控件:按钮控件的编程实例)
上一节VS2010/MFC编程入门教程中鸡啄米讲了按钮控件Button.Radio Button和Check Box的基本用法,本节就继续讲按钮控件的内容,通过一个实例让大家更清楚按钮控件在实际的软件 ...
- VS2019/MFC编程入门之常用控件:按钮控件的编程实例
上一节VS2010/MFC编程入门教程中讲了按钮控件Button.Radio Button和Check Box的基本用法,本节就继续讲按钮控件的内容,通过一个实例让大家更清楚按钮控件在实际的软件开发中 ...
- Win+E打开文件资源管理器而不是我的电脑
1.Win+E进入文件资源管理器后依次点击查看 - 选项 2.更改文件夹选项 - 常规 - 打开文件资源管理器时打开为此电脑 3.再次使用快捷键Win+E,打开为我的电脑
- qt 关闭窗口的槽函数_勇哥的VC++应用框架学习之QT(1) 信号槽、按钮控件、opencv读取显示图片...
前言勇哥对于C语言,C++早些年有一些接触,这个系列贴子就记载一下C++应用框架的学习经验. 在写程序时,UI.基础类库.应用程序框架对于vc来讲,只能依靠MFC和QT了. 勇哥对MFC有很强的抵触, ...
最新文章
- 相机定位 | cv paper整理
- React + TypeScript:元素引用的传递
- Dynamics 365 On-premises和Online 的不同
- Vmware由于centos升级内核不可运行(C header files matching your running kernel were not found)的解决方案...
- leetcode 100.Same Tree
- Jquery技巧:使用ajax技术提交表单数据
- 为什么我坚持用Go语言做Web应用开发框架?
- 实现字符级的LSTM文本生成
- MS SQL安装提示
- 生命在此定格 路透记者遇难前拍下的最后画面
- 软考高级 真题 2017年上半年 信息系统项目管理师 案例分析
- 台式计算机怎么安装无线网卡,台式机用无线网卡,小编教你台式机怎么用无线网卡...
- 发送邮件 显示对方服务器未响应,邮件对方服务器未响应
- 【Python基础】03 程序的控制流
- python random.randint()函数介绍
- Pytest-Pytest框架的使用
- 微信android字体颜色,企业微信使用markdown发送消息,手机端看不到font标签设置的字体颜色...
- 人生无根蒂,飘如陌上尘.
- win7访问共享文件提示:禁用当前账户
- Latex中文文献的引用(bib)
热门文章
- JDBC_学习笔记(婷姐教的)
- 计算机组装与维修技能鉴定,计算机安装调试维修员(四级)技能鉴定试题单总汇.docx...
- Nacos 是如何同时实现AP与CP的
- color-scheme CSS 属性的配色方案
- 计算机更新失败变的很卡,win 8.1 运行慢,更新kb2919355失败频繁重启等问题
- windows2012R2更新KB2919355
- 百度地图开发:多边形覆盖物鼠标高亮效果和标签展示
- 酷炫纯CSS代码实现时空穿梭动效
- IT企业工作纯技术性分析(下)
- 第四十五章 SQL函数 DATEPART