文件对话框允许用户选择文件或文件夹,被选择的文件可进行读或写操作。

#!/usr/bin/python
# -*- coding: utf-8 -*- import sys
from PyQt4 import QtGui, QtCore class OpenFile(QtGui.QMainWindow):
def __init__(self, parent = None):
QtGui.QWidget.__init__(self, parent)
self.setGeometry(300, 300, 350, 300)
self.setWindowTitle('Open File')
self.textEdit = QtGui.QTextEdit()
self.setCentralWidget(self.textEdit)
self.statusBar()
self.setFocus() exit = QtGui.QAction(QtGui.QIcon('open.png'), 'Open', self)
exit.setShortcut('Ctrl+O')
exit.setStatusTip('Open new File')
self.connect(exit, QtCore.SIGNAL('triggered()'), self.showDialog) menubar = self.menuBar()
file = menubar.addMenu('&File')
file.addAction(exit) def showDialog(self):
filename = QtGui.QFileDialog.getOpenFileName(self, 'Open file', './')
file = open(filename)
data = file.read()
self.textEdit.setText(data) app = QtGui.QApplication(sys.argv)
of = OpenFile()
of.show()
sys.exit(app.exec_())

效果:

我们在本示例程序中显示了一个菜单栏、一个状态栏和一个被设置为中心部件的文本编辑器。其中状态栏的状态信息只有在用户想要打开文件时才会显示。单击菜单栏中的Open选项将弹出文件对话框供用户选择文件。被选择的文件内容将被显示在文本编辑器部件中。

class OpenFile(QtGui.QMainWindow):
    ……
        self.textEdit = QtGui.QTextEdit()
        self.setCentralWidget(self.textEdit)

本示例程序时基于QMainWindow窗口部件的,因为我们需要将文本编辑器设置为中心部件(QWidget类没有提供setCentralWidget方法)。无须依赖布局管理器,QMainWindow即可轻松完成配置中心部件的工作(使用setCentralWidget方法)。

filename = QtGui.QFileDialog.getOpenFileName(self, 'Open file', './')

该语句将弹出文件对话框。getOpenFileName()方法的第一个字符串参数'Open File'将显示在弹出对话框的标题栏。第二个字符串参数用来指定对话框的工作目录。默认情况下文件过滤器被设置为不过滤任何文件(所有工作目录中的文件/文件夹都会被显示)。

file = open(filename)
        data = file.read()
        self.textEdit.setText(data)

以上三行语句将读取被选择文件并将其内容显示在文本编译器中。

PyQt4文件对话框QFileDialog的更多相关文章

  1. [PyQt5]文件对话框QFileDialog的使用

    概述选取文件夹 QFileDialog.getExistingDirectory()选择文件 QFileDialog.getOpenFileName()选择多个文件 QFileDialog.getOp ...

  2. 跟我一起学QT_QT标准对话框_文件对话框

    标准对话框 QT的标准对话框分为以下几种 颜色对话框 文件对话框 字体对话框 输入对话框 消息对话框 进度对话框 错误信息对话框 向导对话框 文件对话框 QT中的文件对话框QFileDialog类提供 ...

  3. Pyqt4的对话框 -- 文件对话框

    文件对话框允许用户选择文件或文件夹,被选择的文件可进行读或写操作 # QInputDialog 文件对话框 # 本示例包含一个菜单栏,一个状态栏和一个被设置为中心部件的文本编辑器. # 状态栏的状态信 ...

  4. QT 文件对话框(QFileDialog)

    1.选择文件(上传.打开...) QString QFileDialog::getOpenFileName( QWidget *parent = , //parent,用于指定父组件.注意,很多Qt组 ...

  5. Qt__文件打开保存对话框(QFileDialog)

    转自豆子空间 使用QFileDialog有两种方法,一种是比较简单的使用"静态函数法",另一种是可以自定义各个细节的"构造函数法". 静态函数法 修改MainW ...

  6. QFileDialog关于选择文件对话框中的几个信号的说明(currentChanged,directoryEntered,fileSelected,filterSelected)

    QFileDialog关于选择文件对话框中的几个信号 实例: openFile::openFile(QWidget *parent) :QWidget(parent),ui(new Ui::openF ...

  7. QT学习 之 对话框 (四) 字体对话框、消息对话框、文件对话框、进程对话框(超详细中文注释)

    QMessageBox类: 含有Question消息框.Information消息框.Warning消息框和Critical消息框等 通常有两种方式可以来创建标准消息对话框: 一种是采用“基于属性”的 ...

  8. QT 打开文件对话框汇总

    Qstring fileName = QFileDialog::getOpenFileName(this, tr("open file"), " ",  tr( ...

  9. Qt打开文件对话框

    项目中需要打开文件对话框,就查了一下,不得不说Qt的帮助文档做的真好,非常详细.要实现这个功能有两种方式,使用QFileDialog的静态方法,实例化QFileDialog对象. 基本算是照抄帮助文档 ...

随机推荐

  1. 百度分享vue版-vshare

    vshare 基于百度分享开发的支持VUE2.X的分享插件,为您带来更多的流量!提供多种风格按钮,代码加载更快,引入社会化流量,提升网页抓取速度等优点.github地址:https://github. ...

  2. 在linux上安装redmine

    Redmine 是一个开源的.基于Web的项目管理和缺陷跟踪工具.它用日历和甘特图辅助项目及进度可视化显示.同时它又支持多项目管理.Redmine是一个自由开放 源码软件解决方案,它提供集成的项目管理 ...

  3. pick王菊?作为“菊外人”的程序员能做点什么?

    转载:https://mp.weixin.qq.com/s/s1cb9Ij6ouTYYCZovLhXTA 最近,想必大家的朋友圈都被“王菊”占领了,打开朋友圈到处可以见到“pick王菊”.“陶渊明”. ...

  4. npm常用命令汇总

    npm是一个node包管理和分发工具,已经成为了非官方的发布node模块(包)的标准. 有了npm,可以很快的找到特定服务要使用的包,进行下载.安装以及管理已经安装的包. 1.npm install ...

  5. R笔记4:ggplot绘制商务图表--玫瑰图

    我们说Excel有难度的图表,可以考虑ggplot2是否更方便,本帖的例子就是用ggplot做玫瑰图. Excel做玫瑰图有一定难度,可以使用雷达图或圆环图来构建,我的博客上曾有多个帖子讨论这个,见 ...

  6. MYSQL的用户变量(@)和系统变量(@@)

    9.3. 用户变量 可以先在用户变量中保存值然后在以后引用它:这样可以将值从一个语句传递到另一个语句.用户变量与连接有关.也就是说,一个客户端定义的变量不能被其它客户端看到或使用.当客户端退出时,该客 ...

  7. WebForm和MVC的一些知识(转)

    转自:http://www.cnblogs.com/liuhf939/p/3417203.html 比较WebForm和Mvc的请求处理方式 首先简单了解一下Asp.Net中怎么对页面进行请求处理的: ...

  8. thinkphp openfire 添加用户 骨架

    public function addadd(){ header("Content-Type:text/html; charset=utf-8"); $user=$_POST['n ...

  9. sh脚本循环

    sh for循环 for File in 1 2 3 4 5 do echo $File done sh for多重循环 for image_size_input in 160 140 120 100 ...

  10. e575. The Quintessential Drawing Program

    To draw on the screen, it is first necessary to subclass a JComponent and override its paint() metho ...