首页 > 其他分享 >QFileDialog -文件对话框

QFileDialog -文件对话框

时间:2023-02-21 16:14:23浏览次数:36  
标签:__ 文件 Form 对话框 self QFileDialog import pushButton

QFileDialog继承了QDialog,具有父类的各种方法。
QFileDialog提供了一个对话框,允许用户选择文件或者目录,也允许用户遍历文件系统,用以选择一个或多个文件或者目录。

常用方法

# 获取一个打开文件的文件名
getOpenFileNames ([parent=None[, caption=””[, dir=””[, filter=””[, selectedFilter=””[, options=QFileDialog.Options()]]]]]])
# 获取保存的文件名
getSaveFileName ([parent=None[, caption=””[, dir=””[, filter=””[, selectedFilter=””[, options=QFileDialog.Options()]]]]]])

示例

ui文件

from PySide6.QtCore import (QCoreApplication, QDate, QDateTime, QLocale,
    QMetaObject, QObject, QPoint, QRect,
    QSize, QTime, QUrl, Qt)
from PySide6.QtGui import (QBrush, QColor, QConicalGradient, QCursor,
    QFont, QFontDatabase, QGradient, QIcon,
    QImage, QKeySequence, QLinearGradient, QPainter,
    QPalette, QPixmap, QRadialGradient, QTransform)
from PySide6.QtWidgets import (QApplication, QPushButton, QSizePolicy, QTextBrowser,
    QWidget)

class Ui_Form(object):
    def setupUi(self, Form):
        if not Form.objectName():
            Form.setObjectName(u"Form")
        Form.resize(255, 274)
        self.pushButton = QPushButton(Form)
        self.pushButton.setObjectName(u"pushButton")
        self.pushButton.setGeometry(QRect(20, 10, 80, 25))
        self.pushButton_2 = QPushButton(Form)
        self.pushButton_2.setObjectName(u"pushButton_2")
        self.pushButton_2.setGeometry(QRect(130, 10, 80, 25))
        self.textBrowser = QTextBrowser(Form)
        self.textBrowser.setObjectName(u"textBrowser")
        self.textBrowser.setGeometry(QRect(0, 40, 251, 231))

        self.retranslateUi(Form)

        QMetaObject.connectSlotsByName(Form)
    # setupUi

    def retranslateUi(self, Form):
        Form.setWindowTitle(QCoreApplication.translate("Form", u"QFileDialog", None))
        self.pushButton.setText(QCoreApplication.translate("Form", u"Open", None))
        self.pushButton_2.setText(QCoreApplication.translate("Form", u"Save", None))
    # retranslateUi

主文件

import sys
from PySide6 import QtCore,QtWidgets
from PySide6.QtWidgets import *

import pandas as pd 
from ui_savetest import Ui_Form


class main(QWidget):
    def __init__(self):
        super().__init__()    
        self.ui = Ui_Form()      
        self.ui.setupUi(self) 
        self.__create_connections()
        

    def __create_connections(self):              
        self.ui.pushButton.clicked.connect(self.openfile)     
        self.ui.pushButton_2.clicked.connect(self.savefile)        


    def openfile(self):
        openname,_ = QFileDialog.getOpenFileName(self,"打开文件", '.','所有文件(*.*);;文本文件(*.txt);;Python文件(*.py)')
        if openname:
            with open(openname,'r') as f:
                content = f.read()            
            self.ui.textBrowser.setText(content)
            

    def savefile(self):
        savename,_ = QFileDialog.getSaveFileName(self,"保存文件", '.','所有文件(*.*)')
        txt1 = self.ui.textBrowser.toPlainText()
        if savename:
            with open(savename,'w') as f:
                f.write(str(txt1))                 

if __name__ == '__main__':
    app = QApplication(sys.argv)
    m = main()
    m.show()    
    sys.exit(app.exec())
```

标签:__,文件,Form,对话框,self,QFileDialog,import,pushButton
From: https://www.cnblogs.com/conpi/p/17141342.html

相关文章

  • 如何将多张CAD图纸合并成一个图纸文件?
    在CAD设计过程中,有些时候会需要将多张CAD图纸合并成一个图纸文件,可有些新手设计师对此并不了解,所以接下来的CAD教程小编将会以浩辰CAD软件为例来给大家分享一下将多张CAD图......
  • minio设置文件访问策略
    1、设置AccessPolicy为public通过访问主机地址+文件的方式:​​http://x.x.x.x:9000/bucket/xxx.jpg​​此时的规则是2、通过MC设置存储桶或路径策略为download必须通过min......
  • Nginx系列---【配置文件中静态资源文件禁止通过目录查看】
    配置文件中静态资源文件禁止通过目录查看1.问题nginx作为文件服务器时,默认是可以通过目录路径查看该目录下的所有文件的,这样很不安全,容易造成静态资源泄露。2.方案lo......
  • ArcGIS Pro SDK 002 对数据文件的读取和操作
    做系统开发或者数据处理的时候,我一般还是喜欢使用文件数据源,例如矢量用.shp文件存储,栅格数据用.tif或者.img文件存储。ArcGISProSDK中对数据源操作的API和ArcObjectsSDK......
  • TS声明文件
    1.什么是声明当使用第三方库时,很多三方库不是用TS写的,我们需要引用它的声明文件,才能获得对应的代码补全、接口提示等功能。比如,在TS中直接使用Vue,就会报错,consta......
  • MyBatis中mapper文件的常用标签
    <sql>标签:用来封装sql语句或者复用语句的,然后用<include>标签来调用<sqlid="selectFields">stuid,stuname,stuclass,stuage</sql><selectid="selectStudentByNam......
  • 文件监听,内存溢出了
    为什么做了文件监听功能,内存溢出了?忙于做项目,现在简单贴一些代码和分析原因。项目里面有一个配置文件,做了监听,这个是放数据的。红线部分是文件修改 这个是文件监听的......
  • jquery 中上传的图片file文件,如果在html img元素中通过src展示 ,可以img的图片src属性
    bot回答:Answer:不可以。文件不能直接设置为img元素的src属性值。要展示file文件,需要在img属性中使用JavaScript来实现,可以参考以下代码:<imgid="uploade......
  • 将文件夹打成jar包
    将一个文件夹打包成.jar文件,注意,是一个文件夹:我在e盘下有一个名为gameapi的文件夹,这个文件夹就是我要打包的文件夹,其中在这个文件夹下的META-INF文件夹下有个MANIFEST.MF......
  • Excel文件 利用MySQL/Python 实现自动处理数据的功能
    目录问题描述:解决方案:一、SQL查询二、SQL、python处理三、python处理四、优化python处理1.手动执行代码2.开机自动执行代码对比四种方案:总结:问题描述:在没有服务器存储数......