电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

python GUI庫(kù)圖形界面開發(fā)之PyQt5打開保存對(duì)話框QFileDialog詳細(xì)使用方法與實(shí)例

瀏覽:101日期:2022-08-05 16:29:14
PyQt5打開保存對(duì)話框QFileDialog介紹

QFIleDialog是用于打開和保存文件的標(biāo)準(zhǔn)對(duì)話框。QFileDialog類繼承自QDialog類

QFileDialog在打開文件時(shí)使用可文件過(guò)濾器,用于顯示指定擴(kuò)展名的文件,也可以設(shè)置使用QFileDialog打開文件時(shí)的起始目錄和指定擴(kuò)展名的文件

QFileDialog類中的常用方法 方法 描述 getOpenFileName() 返回用戶所選擇文件的名稱,并打開該文件 getSaveFileName() 使用用戶選擇的文件名保存文件 setFileMode() 可以選擇的文件類型,枚舉常量是: QFileDialog.AnyFile:任何文件 QFileDialog.ExistingFile:已存在的文件 QFileDialog.Directory:文件目錄 QFileDialog.ExistingFiles:已經(jīng)存在的多個(gè)文件 setFilter() 設(shè)置過(guò)濾器,只顯示過(guò)濾器允許的文件類型 QFileDialog使用實(shí)例

import sysfrom PyQt5.QtCore import *from PyQt5.QtWidgets import *from PyQt5.QtGui import *class fileDialogdemo(QWidget): def __init__(self,parent=None): super(fileDialogdemo, self).__init__(parent) #垂直布局 layout=QVBoxLayout() #創(chuàng)建按鈕,綁定自定義的槽函數(shù),添加到布局中 self.btn=QPushButton('加載圖片') self.btn.clicked.connect(self.getimage) layout.addWidget(self.btn) #創(chuàng)建標(biāo)簽,添加到布局中 self.le=QLabel(’’) layout.addWidget(self.le) #創(chuàng)建按鈕,綁定自定義的槽函數(shù),添加到布局 self.btn1=QPushButton(’加載文本文件’) self.btn1.clicked.connect(self.getFiles) layout.addWidget(self.btn1) #實(shí)例化多行文本框,添加到布局 self.contents=QTextEdit() layout.addWidget(self.contents) #設(shè)置主窗口的布局及標(biāo)題 self.setLayout(layout) self.setWindowTitle(’File Dialog 例子’) def getimage(self): #從C盤打開文件格式(*.jpg *.gif *.png *.jpeg)文件,返回路徑 image_file,_=QFileDialog.getOpenFileName(self,’Open file’,’C:’,’Image files (*.jpg *.gif *.png *.jpeg)’) #設(shè)置標(biāo)簽的圖片 self.le.setPixmap(QPixmap(image_file)) def getFiles(self): #實(shí)例化QFileDialog dig=QFileDialog() #設(shè)置可以打開任何文件 dig.setFileMode(QFileDialog.AnyFile) #文件過(guò)濾 dig.setFilter(QDir.Files) if dig.exec_(): #接受選中文件的路徑,默認(rèn)為列表 filenames=dig.selectedFiles() #列表中的第一個(gè)元素即是文件路徑,以只讀的方式打開文件 f=open(filenames[0],’r’) with f:#接受讀取的內(nèi)容,并顯示到多行文本框中data=f.read()self.contents.setText(data)if __name__ == ’__main__’: app=QApplication(sys.argv) ex=fileDialogdemo() ex.show() sys.exit(app.exec_())

效果如下

python GUI庫(kù)圖形界面開發(fā)之PyQt5打開保存對(duì)話框QFileDialog詳細(xì)使用方法與實(shí)例

python GUI庫(kù)圖形界面開發(fā)之PyQt5打開保存對(duì)話框QFileDialog詳細(xì)使用方法與實(shí)例

python GUI庫(kù)圖形界面開發(fā)之PyQt5打開保存對(duì)話框QFileDialog詳細(xì)使用方法與實(shí)例

代碼分析

在這個(gè)例子里,通過(guò)文件對(duì)話框來(lái)選擇文件,其中第一個(gè)文件對(duì)話框只允許打開圖片文件,并把加載的圖片顯示在標(biāo)簽上,第二個(gè)文件對(duì)話框只允許打開文本文件,并把打開的文本內(nèi)容顯示在文本框內(nèi)

第一個(gè)按鈕使用QFileDialog.getOpenFilename(),調(diào)用文件對(duì)話框來(lái)顯示圖片,并顯示在一個(gè)標(biāo)簽控件中,它負(fù)責(zé)打開c盤目錄下的為文件,核心代碼如下

#從C盤打開文件格式(*.jpg *.gif *.png *.jpeg)文件,返回路徑image_file,_=QFileDialog.getOpenFileName(self,’Open file’,’C:’,’Image files (*.jpg *.gif *.png *.jpeg)’)#設(shè)置標(biāo)簽的圖片self.le.setPixmap(QPixmap(image_file))

在QFIleDialog.getOpenFileName()函數(shù)中

第一個(gè)參數(shù)self:用于指定父組件

第二個(gè)參數(shù)‘open file’:是QFileDialog對(duì)話框的標(biāo)題

第三個(gè)參數(shù)‘C:’默認(rèn)打開的目錄,‘.’代表程序運(yùn)行的目錄,‘/’代表當(dāng)前盤下的根目錄(window.linux系統(tǒng)),需要注意的是不同路徑的顯示方式,比如window平臺(tái)下的C盤“C:”等

第四個(gè)參數(shù)是對(duì)話框中文件擴(kuò)展名過(guò)濾器(fliter),比如使用’Image files (.jpg .gif .png .jpeg)’表示只能顯示擴(kuò)展名為.jpg,.gif等文件

第二個(gè)安妞使用文件對(duì)話框(QFileDialog)對(duì)象的exec_()方法來(lái)選擇文件,并把所選的文件的內(nèi)容顯示在文本編譯控件中,核心代碼

def getFiles(self): #實(shí)例化QFileDialog dig=QFileDialog() #設(shè)置可以打開任何文件 dig.setFileMode(QFileDialog.AnyFile) #文件過(guò)濾 dig.setFilter(QDir.Files) if dig.exec_(): #接受選中文件的路徑,默認(rèn)為列表 filenames=dig.selectedFiles() #列表中的第一個(gè)元素即是文件路徑,以只讀的方式打開文件 f=open(filenames[0],’r’) with f:#接受讀取的內(nèi)容,并顯示到多行文本框中data=f.read()self.contents.setText(data)

本文詳細(xì)講解了PyQt5打開保存對(duì)話框QFileDialog詳細(xì)使用方法與實(shí)例,大家可以參考一下,更多關(guān)于這方面的知識(shí)請(qǐng)查看下面的相關(guān)鏈接

標(biāo)簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 安徽千住锡膏_安徽阿尔法锡膏锡条_安徽唯特偶锡膏_卡夫特胶水-芜湖荣亮电子科技有限公司 | sus630/303cu不锈钢棒,440C/430F/17-4ph不锈钢研磨棒-江苏德镍金属科技有限公司 | 罗茨真空机组,立式无油往复真空泵,2BV水环真空泵-力侨真空科技 | 桐城新闻网—桐城市融媒体中心主办| 捷码低代码平台 - 3D数字孪生_大数据可视化开发平台「免费体验」 | 小型高低温循环试验箱-可程式高低温湿热交变试验箱-东莞市拓德环境测试设备有限公司 | 旋片真空泵_真空泵_水环真空泵_真空机组-深圳恒才机电设备有限公司 | 上海宿田自动化设备有限公司-双面/平面/单面贴标机 | 交通信号灯生产厂家_红绿灯厂家_电子警察监控杆_标志杆厂家-沃霖电子科技 | 火锅加盟_四川成都火锅店加盟_中国火锅连锁品牌十强_朝天门火锅【官网】 | 「钾冰晶石」氟铝酸钾_冰晶石_氟铝酸钠「价格用途」-亚铝氟化物厂家 | 护腰带生产厂家_磁石_医用_热压护腰_登山护膝_背姿矫正带_保健护具_医疗护具-衡水港盛 | 扬尘在线监测系统_工地噪声扬尘检测仪_扬尘监测系统_贝塔射线扬尘监测设备「风途物联网科技」 | 青岛球场围网,青岛车间隔离网,青岛机器人围栏,青岛水源地围网,青岛围网,青岛隔离栅-青岛晟腾金属制品有限公司 | 全自动包装秤_全自动上袋机_全自动套袋机_高位码垛机_全自动包装码垛系统生产线-三维汉界机器(山东)股份有限公司 | 山东聚盛新型材料有限公司-纳米防腐隔热彩铝板和纳米防腐隔热板以及钛锡板、PVDF氟膜板供应商 | 湖州织里童装_女童男童中大童装_款式多尺码全_织里儿童网【官网】-嘉兴嘉乐网络科技有限公司 | 排烟防火阀-消防排烟风机-正压送风口-厂家-价格-哪家好-德州鑫港旺通风设备有限公司 | 济南画室培训-美术高考培训-山东艺霖艺术培训画室 | 杜甫仪器官网|实验室平行反应器|升降水浴锅|台式低温循环泵 | 合肥活动房_安徽活动板房_集成打包箱房厂家-安徽玉强钢结构集成房屋有限公司 | 塑胶地板-商用PVC地板-pvc地板革-安耐宝pvc塑胶地板厂家 | 小学教案模板_中学教师优秀教案_高中教学设计模板_教育巴巴 | 耐酸碱胶管_耐腐蚀软管总成_化学品输送软管_漯河利通液压科技耐油耐磨喷砂软管|耐腐蚀化学软管 | 深圳市八百通智能技术有限公司官方网站 | 雷蒙磨,雷蒙磨粉机,雷蒙磨机 - 巩义市大峪沟高峰机械厂 | 污水提升器,污水提升泵,地下室排水,增压泵,雨水泵,智能供排水控制器-上海智流泵业有限公司 | 东莞压铸厂_精密压铸_锌合金压铸_铝合金压铸_压铸件加工_东莞祥宇金属制品 | 山东柳店新能源科技有限公司 | 不锈钢水箱生产厂家_消防水箱生产厂家-河南联固供水设备有限公司 | 并网柜,汇流箱,电控设备,中高低压开关柜,电气电力成套设备,PLC控制设备订制厂家,江苏昌伟业新能源科技有限公司 | 耳模扫描仪-定制耳机设计软件-DLP打印机-asiga打印机-fitshape「飞特西普」 | 打包钢带,铁皮打包带,烤蓝打包带-高密市金和金属制品厂 | 节流截止放空阀-不锈钢阀门-气动|电动截止阀-鸿华阀门有限公司 | 河北中仪伟创试验仪器有限公司是专业生产沥青,土工,水泥,混凝土等试验仪器的厂家,咨询电话:13373070969 | 小型铜米机-干式铜米机-杂线全自动铜米机-河南鑫世昌机械制造有限公司 | POS机办理_个人POS机免费领取 - 银联POS机申请首页 | 医养体检包_公卫随访箱_慢病随访包_家签随访包_随访一体机-济南易享医疗科技有限公司 | 首页|专注深圳注册公司,代理记账报税,注册商标代理,工商变更,企业400电话等企业一站式服务-慧用心 | 实验室装修_实验室设计_实验室规划设计- 上海广建净化工程公司 | POS机办理_个人pos机免费领取-银联pos机申请首页 |