好文档 - 专业文书写作范文服务资料分享网站

QFileDialog类参考

天下 分享 时间: 加入收藏 我要投稿 点赞

QFileDialog类参考

QFileDialog类提供了允许用户选择文件或者目录的对话框。详情请见…… #include 继承了QDialog。 所有成员函数的列表。

公有成员

?

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

QFileDialog ( const QString & dirName, const QString & filter =

QString::null, QWidget * parent = 0, const char * name = 0, bool modal = FALSE )

QFileDialog ( QWidget * parent = 0, const char * name = 0, bool modal = FALSE )

~QFileDialog ()

QString selectedFile () const QString selectedFilter () const

virtual void setSelectedFilter ( const QString & mask ) virtual void setSelectedFilter ( int n )

void setSelection ( const QString & filename ) void selectAll ( bool b )

QStringList selectedFiles () const QString dirPath () const

void setDir ( const QDir & dir ) const QDir * dir () const

void setShowHiddenFiles ( bool s ) bool showHiddenFiles () const void rereadDir () void resortDir ()

enum Mode { AnyFile, ExistingFile, Directory, ExistingFiles, DirectoryOnly }

void setMode ( Mode ) Mode mode () const

enum ViewMode { Detail, List }

enum PreviewMode { NoPreview, Contents, Info } void setViewMode ( ViewMode m ) ViewMode viewMode () const

void setPreviewMode ( PreviewMode m ) PreviewMode previewMode () const bool isInfoPreviewEnabled () const

? ? ? ? ? ? ?

bool isContentsPreviewEnabled () const void setInfoPreviewEnabled ( bool )

void setContentsPreviewEnabled ( bool )

void setInfoPreview ( QWidget * w, QFilePreview * preview )

void setContentsPreview ( QWidget * w, QFilePreview * preview ) QUrl url () const

void addFilter ( const QString & filter )

公有槽

? ? ? ? ? ?

void setDir ( const QString & pathstr ) void setUrl ( const QUrlOperator & url ) void setFilter ( const QString & newFilter ) void setFilters ( const QString & filters ) void setFilters ( const char ** types ) void setFilters ( const QStringList & )

信号

? ? ? ? ?

void fileHighlighted ( const QString & ) void fileSelected ( const QString & )

void filesSelected ( const QStringList & ) void dirEntered ( const QString & ) void filterSelected ( const QString & )

静态公有函数

QString getOpenFileName ( const QString & startWith = QString::null, const QString & filter = QString::null, QWidget * parent = 0, const char * name = 0, const QString & caption = QString::null, QString * selectedFilter = 0, bool resolveSymlinks = TRUE )

? QString getSaveFileName ( const QString & startWith = QString::null,

const QString & filter = QString::null, QWidget * parent = 0, const char * name = 0, const QString & caption = QString::null, QString * selectedFilter = 0, bool resolveSymlinks = TRUE )

? QString getExistingDirectory ( const QString & dir = QString::null,

QWidget * parent = 0, const char * name = 0, const QString & caption = QString::null, bool dirOnly = TRUE, bool resolveSymlinks = TRUE ) ? QStringList getOpenFileNames ( const QString & filter = QString::null,

const QString & dir = QString::null, QWidget * parent = 0, const char * name = 0, const QString & caption = QString::null, QString * selectedFilter = 0, bool resolveSymlinks = TRUE )

?

void setIconProvider ( QFileIconProvider * provider ) ? QFileIconProvider * iconProvider ()

?

属性

? ? ? ? ? ? ? ? ? ?

bool contentsPreview - 文件对话框是否提供当前选择文件的内容预览 QString dirPath - 文件对话框的工作目录 (只读)

bool infoPreview - 文件对话框是否提供当前选择文件的信息预览 Mode mode - 文件对话框的模式

PreviewMode previewMode - 文件的对话框的预览模式 QString selectedFile - 选择的文件的名称 (只读) QStringList selectedFiles - 选择的文件的列表 (只读)

QString selectedFilter - 文件对话框中用户选择文件的过滤器 (只读) bool showHiddenFiles - 文件对话框中隐藏文件是否显示 ViewMode viewMode - 文件对话框的视图模式

保护成员

void addWidgets ( QLabel * l, QWidget * w, QPushButton * b ) ? void addToolButton ( QButton * b, bool separator = FALSE ) ? void addLeftWidget ( QWidget * w ) ? void addRightWidget ( QWidget * w )

?

详细描述

QFileDialog类提供了允许用户选择文件或者目录的对话框。

QFileDialog类允许用户在它们的文件系统上遍历来选择一个或多个文件或目录。 最简单的方式是使用静态函数来创建一个QFileDialog。在Windows上,这些静态函数将调用本地Windows文件对话框并且在Mac OS X上,这些静态函数将调用本地Mac OS X文件对话框。

QString s = QFileDialog::getOpenFileName( \

\ this,

\ \

在上面的实例中,一个模式对话框被使用静态函数来创建。开始目录被设置为“/home”。文件过滤器被设置为“Images (*.png *.xpm *.jpg)”。文件对话框的父对象被设置为this并且它被给定一个标识名称——“open file dialog”。文件对话框上面的标题被设置为“Choose a file”。

你可以不使用静态函数创建你自己的QFileDialog。通过调用setMode(),你可以设置可以从QFileDialog返回什么。

QFileDialog* fd = new QFileDialog( this, \ fd->setMode( QFileDialog::AnyFile );

在上面的实例中,文件对话框的模式被设置为AnyFile,也就是说用户可以设置任何文件或者甚至指定一个不存在的文件。这个模式对于创建一个“File Save As”文件对话框。如果用户必须选择存在的文件,请使用ExistingFile,或者如果可以选择目录,请使用Directory。(模式的完整列表请参考QFileDialog::Mode枚举变量。)

你可以通过mode()重新得到对话框的模式。也可以使用setFilter()来设置对话框的文件过滤器。

fd->setFilter( \

在上面的实例中,过滤器被设置为“Images (*.png *.xpm *.jpg)”,这也就是说只有扩展名为png、xpm或jpg的文件可以被显示在QFileDialog中。你可以使用setFilters()来设置几个过滤器并且使用addFilter()来添加额外的过滤器。使用setSelectedFilter()来选择你给定的其中一个作为文件对话框默认过滤器。只用用户改变过滤器,filterSelected()信号就被发射。

文件对话框有两种视图模式,QFileDialog::List可以简单地列出文件和目录名称并且QFileDialog::Detail会在旁边显示额外的信息,例如,文件大小。 fd->setViewMode( QFileDialog::Detail );

在创建你自己的文件对话框时最后需要的最后重要的函数是selectedFile()。 QString fileName;

if ( fd->exec() == QDialog::Accepted ) fileName = fd->selectedFile();

在上面的实例中,模式对话框被创建并被显示。如果用户点击OK,然后他们选择的文件被放入fileName中。

如果你使用ExistingFiles模式,那么你将需要使用selectedFiles()在一个QStringList中返回选择的文件。

对话框工作目录可以使用setDir()来设置。隐藏文件的显示控制可以使用

setShowHiddenFiles()。对话框可以被强制使用rereadDir()重新读取目录并且使用resortDir()来重新排列目录。可以使用selectAll()来选择当前目录下的所有文件。

创建和使用预览窗口部件

QFileDialog中使用两种预览窗口部件:内容预览窗口部件和信息预览窗口部件。它们的创建和使用方法相同,除了函数名不同以外,例如,setContentsPreview()和setInfoPreview()。

预览窗口部件被放置在QFileDialog中,让用户能够看到文件的内容或者有关文件的信息。

class Preview : public QLabel, public QFilePreview {

public:

Preview( QWidget *parent=0 ) : QLabel( parent ) {}

void previewUrl( const QUrl&u ) {

QString path = u.path(); QPixmap pix( path );

if ( pix.isNull() )

setText( \ else

setPixmap( pix ); } };

在上面的代码段中,我们创建一个继承与QLabel和QFilePreview的预览窗口部件。文件预览窗口部件必须从QFilePreview继承。

在这个类中我们重新实现了QFilePreview::previewUrl(),这是我们决定当文件被选择时发生什么。在上面的实例中,如果它是有效的像素映射,我们只是显示文件的预览。这里是文件对话框如何使用预览窗口部件的: Preview* p = new Preview;

QFileDialog* fd = new QFileDialog( this ); fd->setContentsPreviewEnabled( TRUE );

QFileDialog类参考

QFileDialog类参考QFileDialog类提供了允许用户选择文件或者目录的对话框。详情请见……#include继承了QDialog。所有成员函数的列表。公有成员???????????????????????????Q
推荐度:
点击下载文档文档为doc格式
5d8bg17il20zn011pbal
领取福利

微信扫码领取福利

微信扫码分享