file_path, file_type = QFileDialog.getOpenFileName(self, '选择文件', '','Text files (*.txt);;XML files (*.xml);;CSV files (*.csv);;JSON files (*.json)')
if file_path == '':
pass
else:
file_path, file_type = QFileDialog.getOpenFileName(self, '选择文件', '','Text files (*.txt);;XML files (*.xml);;CSV files (*.csv);;JSON files (*.json)') if file_path == '': pass # 防止关闭或取消导入关闭所有页面 else: #以下写你想进行的正常
#参数三是默认路径(自己随便设),参数四是过滤哪些文件,比如下面就是只显示jpg或者png文件
#fname,a=QFileDialog.getOpenFileName(self,'打开文件','.','图像文件(*.jpg *.png)')
self.fnam
PyQt5 文件对话框QFileDialog调用后崩溃的解决方案
#问题说明
PyQt5 5.15版本下,在Win10里打开Qtdesigner.exe主界面正常,但如果打开文件夹选文件会出现python停止导致程序退出,这或许应该是5.15版本的bug之一,5.14.2就没有。相应的调用
文件对话框QFileDialog也会有出现类似问题
#解决方案
1、PyQt5 版本回转==》5.14.2
pip uninstall PyQt5 PyQt5-tools
pip install PyQt5==5.14.
本文研究的主要是PyQt5打开文件对话框QFileDialog的代码示例,具体如下。
单个文件打开 QFileDialog.getOpenFileName()
多个文件打开 QFileDialog.getOpenFileNames()
文件夹选取 QFileDialog.getExistingDirectory()
文件保存 QFileDialog.getSaveFileName()
实例代码:
from PyQt5 import QtWidgets
from PyQt5.QtWidgets import QFileDialog
class MyWindow(QtWidgets.QWi
qt在调出QFileDialog类的windows窗口上传文件时,普遍使用的是**getOpenFileName()**静态函数,不能定义各种细节。导致主窗口已经退出了,QFileDialog的窗口未退出。查看帮助文档可以看到
意思是:在对话框执行过程中不要删除父对话框。如果您希望这样做,您应该使用QFileDialog构造函数之一自己创建对话框。
构造函数法创建QFileDialog 对象:
1、创建dialog窗体,静态调用QFileDialog::getfilename,并QString输出
2、判断filename名字是否为空
3、创建QFile指针myfile,设置指针文件名setFileName
4、打开文件夹返回bool值
5、判断文件是否打开成功
6、while(判断文件是否到文件末尾)
读取文件defile MEG_LEN=1024
QByteArra...
文章目录详细说明公共类型enum AcceptModeenum DialogLabelenum FileModeenum Optionenum ViewMode属性公共函数构造和析构属性相关其它状态的保存和恢复选项目录和文件URL过滤器历史记录IconProvider代理和委托标签文本重写的公共函数信号静态公共函数已存在的目录文件内容文件名文件URL重写的受保护的函数
QFileDialog Class
QFileDialog类提供了一个对话框,允许用户选择文件或目录。
# openfiledialog.py
from PyQt5.QtWidgets import QApplication, QAction, QFileDialog, QTextEdit
from PyQt5 import
我们知道c++内存管理的一个规则:new出来的对象,一定要delete。
我们实现一个弹窗的时候,有时候继承widget,有时候继承dialog。不管哪种,窗体调用show方法后,不可能直接delete。
当然,new该窗体的时候,指定了父对象,就可以不用显示调用delete,它会随着父对象的销毁而销毁。
那这时候,关闭弹窗的操作,就仅仅是隐藏了。为了实现真正的delete。我们需要设施窗口的一个属性 DeleteOnClose,具体方法如下:
setAttribute(Qt::WA_DeleteO
import sys
from PyQt5.QtWidgets import QApplication, QFileDialog, QMainWindow, QPushButton
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
self.setGeometry(100, 100, 300, 200)
self.setWindowTitle('文件选择')
button = QPushButton('选择文件', self)
button.clicked.connect(self.showDialog)
button.move(100, 100)
def showDialog(self):
fileName, _ = QFileDialog.getOpenFileName(self, '选择文件', '', 'All Files (*);;Text Files (*.txt)')
if fileName:
print(fileName)
if __name__ == '__main__':
app = QApplication(sys.argv)
window = MainWindow()
window.show()
sys.exit(app.exec_())
这是一个简单的界面程序,包括一个按钮和一个文件选择框。当点击按钮时,会打开文件选择框,选择文件后会在控制台打印文件名。你可以根据自己的需要修改代码,如修改按钮上的文字、修改文件选择框中的过滤器等。
python新手入门学习记录23msgbox()、multenterbox()、fileopenbox()、diropenbox()、textbox()buttonbox()filesavebox()