相关文章推荐
暴走的火锅  ·  2018.5.19 户川纯Jun ...·  2 周前    · 
完美的杨桃  ·  武则天·  2 月前    · 
儒雅的书包  ·  PIAGET 伯爵- BLACK ...·  3 月前    · 
不要命的茶叶  ·  李兰迪:演员未满·  4 月前    · 
  • 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 )
  • 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
  • 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 ( "/home", "Images (*.png *.xpm *.jpg)", this, "open file dialog" "Choose a file" );

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

    你可以不使用静态函数创建你自己的QFileDialog。通过调用 setMode (),你可以设置可以从QFileDialog返回什么。 QFileDialog* fd = new QFileDialog( this, "file dialog", TRUE ); fd-> setMode ( QFileDialog:: AnyFile );

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

    你可以通过 mode ()重新得到对话框的模式。也可以使用 setFilter ()来设置对话框的文件过滤器。 fd->setFilter( "Images (*.png *.xpm *.jpg)" );

    在上面的实例中,过滤器被设置为“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( "This is not a pixmap" ); setPixmap( pix );

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

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

    第一行创建了我们的预览窗口部件的实例。然后我们创建我们的文件对话框并且调用 setContentsPreviewEnabled ( TRUE ),这告诉文件对话框预览当前选择文件的内容。然后我们调用 setContentsPreview ()――注意我们传递同样的预览窗口部件两次。最后,在显示文件对话框之前,我们调用 setPreviewMode ()来设置 Contents 为用户选择文件的预览模式来显示内容预览。

    如果你创建另一个预览窗口部件来显示有关文件的信息,那么像内容预览窗口部件一样的方式来创建它并且调用 setInfoPreviewEnabled ()和 setInfoPreview ()。然后用户将能够在两种预览模式中切换。

    有关创建 QFilePreview 窗口部件的更多信息,请参考 QFilePreview

    也可以参考 对话框类


    成员类型文档

    QFileDialog::Mode

    这个枚举变量用来表明用户可以在文件对话框中选择什么,也就是如果用户点击OK,这个对话框返回什么。

  • QFileDialog::AnyFile - 文件名称,不论是否存在。
  • QFileDialog::ExistingFile - 一个单一存在文件的名称
  • QFileDialog::Directory - 目录名称。文件和目录都被显示。
  • QFileDialog::DirectoryOnly - 目录名称。只显示目录。
  • QFileDialog::ExistingFiles - 0个或更多个存在文件的名称。
  • 请参考 setMode ()。

    QFileDialog::PreviewMode

    这个枚举变量描述的是文件对话框的预览模式。

  • QFileDialog::NoPreview - 没有预览被显示。
  • QFileDialog::Contents - 使用内容预览窗口部件来预览当前文件的内容。
  • QFileDialog::Info - 使用信息预览窗口部件来预览有关当前文件的信息。
  • 请参考 setPreviewMode ()、 setContentsPreview ()和 setInfoPreview ()。

    QFileDialog::ViewMode

    这个枚举变量描述的是文件对话框的视图模式,也就是说关于每个文件都显示什么。

  • QFileDialog::List - 显示文件和目录的名称和图标。
  • QFileDialog::Detail - 显示文件和目录的名称和图标以及更多的信息,比如文件的大小和修改日期。
  • 请参考 setViewMode ()。


    成员函数文档

    QFileDialog::QFileDialog ( const QString & dirName, const QString & filter = QString::null, QWidget * parent = 0, const char * name = 0, bool modal = FALSE ) 构造一个父对象为 parent 、名称为 name 的文件对话框。如果 modal 为真,那么文件对话框是模式的,否则它就是非模式的。

    如果 dirName 被指定,那么它将被作为对话框的工作目录,比如,当对话框出现时,它将被作为被显示的目录。如果 filter 被指定,它将会被用作对话框的文件过滤器。

    QFileDialog::QFileDialog ( QWidget * parent = 0, const char * name = 0, bool modal = FALSE ) 构造一个父对象为 parent 、名称为 name 的文件对话框。如果 modal 为真,那么文件对话框是模式的,否则它就是非模式的。

    QFileDialog::~QFileDialog () 销毁这个文件对话框。

    void QFileDialog::addFilter ( const QString & filter ) 添加过滤器 filter 到过滤器的列表中并且把它作为当前过滤器。 QFileDialog* fd = new QFileDialog( this ); fd-> addFilter ( "Images (*.png *.jpg *.xpm)" ); fd-> show ();

    在上面的实例中,一个文件对话框被创建,并且文件过滤器“Images (*.png *.jpg *.xpm)”被添加并且它被设置为当前过滤器。初始过滤器“All Files (*)”仍然是有效的。

    也可以参考 setFilter ()和 setFilters ()。

    void QFileDialog::addLeftWidget ( QWidget * w ) [保护] 添加窗口部件 w 到文件对话框左侧。

    也可以参考 addRightWidget ()、 addWidgets ()和 addToolButton ()。

    void QFileDialog::addRightWidget ( QWidget * w ) [保护] 添加窗口部件 w 到文件对话框右侧。

    也可以参考 addLeftWidget ()、 addWidgets ()和 addToolButton ()。

    void QFileDialog::addToolButton ( QButton * b, bool separator = FALSE ) [保护] 把工具按钮 b 添加到文件对话框上面的一排工具按钮中。这个按钮被添加到这一行的右面。如果 separator 为真,在这行按钮中的最后一个和这个新按钮 b 之间会被插入一小块空间。

    也可以参考 addWidgets ()、 addLeftWidget ()和 addRightWidget ()。

    void QFileDialog::addWidgets ( QLabel * l, QWidget * w, QPushButton * b ) [保护] 把指定的窗口部件添加到文件对话框的底部。标签 l 会被放置到“file name”和“file types”标签的下面。窗口部件 w 会被放置到文件类型组合框的下面。按钮 b 会被放到Cancel推动按钮的下面。 MyFileDialog::MyFileDialog( QWidget * parent, const char* name ) : QFileDialog ( parent, name ) QLabel * label = new QLabel ( "Added widgets", this ); QLineEdit * lineedit = new QLineEdit ( this ); QToolButton * toolbutton = new QToolButton ( this ); addWidgets ( label, lineedit, toolbutton );

    如果你不想添加任何其中一个窗口部件,就在那个窗口部件的位置上传递0。

    每一次你调用这个函数,一行新的窗口部件被添加到文件对话框的底部。

    也可以参考 addToolButton ()、 addLeftWidget ()和 addRightWidget ()。

    const QDir * QFileDialog::dir () const 返回文件对话框中显示的当前目录。

    QDir 指针的所有权被传递给被调用者,所以你必须在调用者不需要它的时候删除它。

    也可以参考 setDir ()。

    void QFileDialog::dirEntered ( const QString & ) [信号]

    当用户进入一个目录时,这个信号被发射。

    也可以参考 dir ()。

    QString QFileDialog::dirPath () const

    返回文件对话框的工作目录。详细情况请参考 “dirPath” 属性。

    void QFileDialog::fileHighlighted ( const QString & ) [信号]

    当用户高亮显示一个文件时,这个信号被发射。

    也可以参考 fileSelected ()和 filesSelected ()。

    void QFileDialog::fileSelected ( const QString & ) [信号]

    当用户选择一个文件时,这个信号被发射。

    也可以参考 filesSelected ()、 fileHighlighted ()和 selectedFile

    void QFileDialog::filesSelected ( const QStringList & ) [信号]

    当用户在 ExistingFiles 模式下选择一个或多个文件时,这个信号被发射。

    也可以参考 fileSelected ()、 fileHighlighted ()和 selectedFiles

    void QFileDialog::filterSelected ( const QString & ) [信号]

    当用户选择一个过滤器时,这个信号被发射。

    也可以参考 selectedFilter

    QString QFileDialog::getExistingDirectory ( const QString & dir = QString::null, QWidget * parent = 0, const char * name = 0, const QString & caption = QString::null, bool dirOnly = TRUE, bool resolveSymlinks = TRUE ) [静态] 这是一个返回由用户选择的已经存在的目录的方便的静态函数。 QString s = QFileDialog:: getExistingDirectory ( "/home", this, "get existing directory" "Choose a directory", TRUE );

    这个函数创建了一个父对象为 parent 、名称为 name 的模式文件对话框。如果父对象不为0,这个对话框将被显示在它的父对象上面的中间。

    对话框的工作目录被设置为 dir ,并且标题被设置为 caption 。它们当中的任何一个都可以是 QString::null ,在这种情况下,当前目录和默认标题将被分别使用。

    如果 dirOnly 为真,那么只有目录被显示在文件对话框中,否则目录和文件都将被显示。

    在Unix/X11下,文件对话框的通常行为是解析并跟踪符号连接。例如,如果/usr/tmp是/var/tmp的符号连接,那么在进入/usr/tmp之后,文件对话框将改变到/var/tmp。如果 resolveSymlinks 为假,文件对话框将把符号连接看作通常的目录。

    也可以参考 getOpenFileName ()、 getOpenFileNames ()和 getSaveFileName ()。

    QString QFileDialog::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 ) [静态] 这是一个返回由用户选择的已经存在的文件的方便的静态函数。如果用户按下Cancel,它返回一个零字符串。 QString s = QFileDialog:: getOpenFileName ( "/home", "Images (*.png *.xpm *.jpg)", this, "open file dialog", "Choose a file to open" );

    这个函数创建了一个父对象为 parent 、名称为 name 的模式文件对话框。如果父对象不为0,这个对话框将被显示在它的父对象上面的中间。

    文件的工作目录将被设置为 startWith 。如果 startWith 包括一个文件名,这个文件将被选择。过滤器被设置为 filter ,这样只有匹配过滤器的文件才会被显示。被选择的过滤器被设置为 selectedFilter 。参数 startWith selectedFilter filter 可以为 QString::null

    对话框的标题可以被设置为 caption 。如果 caption 没有被指定,那么将会有一个默认标题被使用。

    在Windows和Mac OS X下,这个静态函数将使用本地文件对话框而不是QFileDialog,除非应用程序的风格被设置为本地风格以外的某种风格。

    在Unix/X11下,文件对话框的通常行为是解析并跟踪符号连接。例如,如果/usr/tmp是/var/tmp的符号连接,那么在进入/usr/tmp之后,文件对话框将改变到/var/tmp。如果 resolveSymlinks 为假,文件对话框将把符号连接看作通常的目录。

    也可以参考 getOpenFileNames (), getSaveFileName () and getExistingDirectory ().

    实例: action/application.cpp addressbook/mainwindow.cpp application/application.cpp chart/chartform.cpp mdi/application.cpp qwerty/qwerty.cpp showimg/showimg.cpp

    QStringList QFileDialog::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 ) [静态] 这是一个返回由用户选择的已经存在的一个或多个文件的方便的静态函数。 QStringList files = QFileDialog:: getOpenFileNames ( "Images (*.png *.xpm *.jpg)", "/home", this, "open files dialog" "Select one or more files to open" );

    这个函数创建了一个父对象为 parent 、名称为 name 的模式文件对话框。如果父对象不为0,这个对话框将被显示在它的父对象上面的中间。

    文件的工作目录将被设置为 dir 。如果 dir 包括一个文件名,这个文件将被选择。过滤器被设置为 filter ,这样只有匹配过滤器的文件才会被显示。被选择的过滤器被设置为 selectedFilter 。参数 dir selectedFilter filter 可以为 QString::null

    对话框的标题可以被设置为 caption 。如果 caption 没有被指定,那么将会有一个默认标题被使用。

    在Windows和Mac OS X下,这个静态函数将使用本地文件对话框而不是QFileDialog,除非应用程序的风格被设置为本地风格以外的某种风格。

    在Unix/X11下,文件对话框的通常行为是解析并跟踪符号连接。例如,如果/usr/tmp是/var/tmp的符号连接,那么在进入/usr/tmp之后,文件对话框将改变到/var/tmp。如果 resolveSymlinks 为假,文件对话框将把符号连接看作通常的目录。

    注意如果你想遍历文件的列表,你应该在一个复制上进行遍历,例如: QStringList list = files; QStringList::Iterator it = list. begin (); while( it != list. end () ) { myProcessing( *it ); ++it;

    也可以参考 getOpenFileName ()、 getSaveFileName ()和 getExistingDirectory ()。

    QString QFileDialog::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 ) [静态] 这是一个返回由用户选择的已经存在的文件的方便的静态函数。这个文件不一定存在。

    这个函数创建了一个父对象为 parent 、名称为 name 的模式文件对话框。如果父对象不为0,这个对话框将被显示在它的父对象上面的中间。 QString s = QFileDialog:: getSaveFileName ( "/home", "Images (*.png *.xpm *.jpg)", this, "save file dialog" "Choose a filename to save under" );

    文件的工作目录将被设置为 startWith 。如果 startWith 包括一个文件名,这个文件将被选择。过滤器被设置为 filter ,这样只有匹配过滤器的文件才会被显示。被选择的过滤器被设置为 selectedFilter 。参数 startWith selectedFilter filter 可以为 QString::null

    对话框的标题可以被设置为 caption 。如果 caption 没有被指定,那么将会有一个默认标题被使用。

    在Windows和Mac OS X下,这个静态函数将使用本地文件对话框而不是QFileDialog,除非应用程序的风格被设置为本地风格以外的某种风格。

    在Unix/X11下,文件对话框的通常行为是解析并跟踪符号连接。例如,如果/usr/tmp是/var/tmp的符号连接,那么在进入/usr/tmp之后,文件对话框将改变到/var/tmp。如果 resolveSymlinks 为假,文件对话框将把符号连接看作通常的目录。

    也可以参考 getOpenFileName ()、 getOpenFileNames ()和 getExistingDirectory ()。

    实例: action/application.cpp addressbook/mainwindow.cpp application/application.cpp chart/chartform.cpp qmag/qmag.cpp qwerty/qwerty.cpp showimg/showimg.cpp

    QFileIconProvider * QFileDialog::iconProvider () [静态] 返回在文件对话框上当前设置的图标提供者的指针。默认情况下没有图标提供者,并且这个函数返回0。

    也可以参考 setIconProvider ()和 QFileIconProvider

    bool QFileDialog::isContentsPreviewEnabled () const

    如果文件对话框提供当前选择文件的内容预览,返回真,否则返回假。详细情况请参考 “contentsPreview” 属性。

    bool QFileDialog::isInfoPreviewEnabled () const

    如果文件对话框提供当前选择文件的信息预览,返回真,否则返回假。详细情况请参考 “infoPreview” 属性。

    Mode QFileDialog::mode () const

    Returns the file dialog's mode. See the "mode" property for details.

    PreviewMode QFileDialog::previewMode () const

    返回文件对话框的预览模式。详细情况请参考 “previewMode” 属性。

    void QFileDialog::rereadDir () 重新读取在文件对话框中显示的当前目录。

    只有在如果目录的内容发生改变并且你想刷新文件对话框来反映这样的变化时,你才需要调用这个函数。

    也可以参考 resortDir ()。

    void QFileDialog::resortDir () 重新排列所显示的目录。

    也可以参考 rereadDir ()。

    void QFileDialog::selectAll ( bool b ) 如果 b 为真,那么当前目录下的所有文件都被选择,否则它们都被取消选择。

    QString QFileDialog::selectedFile () const

    返回被选择文件的名称。详细情况请参考 “selectedFile” 属性。

    QStringList QFileDialog::selectedFiles () const

    返回被选择文件的列表。详细情况请参考 “selectedFiles” 属性。

    QString QFileDialog::selectedFilter () const

    返回文件对话框中用户所选择的过滤器。详细情况请参考 “selectedFilter” 属性。

    void QFileDialog::setContentsPreview ( QWidget * w, QFilePreview * preview ) 设置被用于作为文件对话框显示文件内容的窗口部件为 w 并且使用 QFilePreview preview 来预览内容。

    通常你需要创建一个继承 QWidget 和QFilePreview的预览窗口部件,所以你需要传递同一个窗口部件两次。 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( "This is not a pixmap" ); setPixmap( pix ); //... int main( int argc, char** argv ) Preview* p = new Preview; QFileDialog* fd = new QFileDialog( this ); fd-> setContentsPreviewEnabled ( TRUE ); fd-> setContentsPreview ( p, p ); fd-> setPreviewMode ( QFileDialog:: Contents ); fd-> show ();

    也可以参考 contentsPreview setInfoPreview ()和 previewMode

    实例: qdir/qdir.cpp

    void QFileDialog::setContentsPreviewEnabled ( bool )

    设置文件对话框是否提供当前选择文件的内容预览。详细情况请参考 “contentsPreview” 属性。

    void QFileDialog::setDir ( const QDir & dir ) 设置文件对话框的工作目录是 dir

    也可以参考 dir ()。

    void QFileDialog::setDir ( const QString & pathstr ) [槽] 这是一个重载成员函数,提供了方便。它的行为基本上和上面的函数相同。

    设置文件对话框的工作目录是 pathstr

    也可以参考 dir ()。

    void QFileDialog::setFilter ( const QString & newFilter ) [槽]

    设置文件对话框中使用的过滤器为 newFilter

    如果 newFilter 中包含一对包含一个或多个 anything*something ,由空格或者分号分隔的括号,那么只有其中被括号包含的内容会被作为过滤器。这也就是说下面这些调用方法都是相同的: fd->setFilter( "All C++ files (*.cpp *.cc *.C *.cxx *.c++)" ); fd->setFilter( "*.cpp *.cc *.C *.cxx *.c++" ); fd->setFilter( "All C++ files (*.cpp;*.cc;*.C;*.cxx;*.c++)" ); fd->setFilter( "*.cpp;*.cc;*.C;*.cxx;*.c++" );

    也可以参考 setFilters ()。

    void QFileDialog::setFilters ( const QString & filters ) [槽] 设置文件对话框中使用的过滤器为 filters 。过滤器中的每一组必须使用 ;; 两个 分号)来分隔。 QString types("*.png;;*.xpm;;*.jpg"); QFileDialog fd = new QFileDialog( this ); fd-> setFilters ( types ); fd-> show ();

    void QFileDialog::setFilters ( const char ** types ) [槽] 这是一个重载成员函数,提供了方便。它的行为基本上和上面的函数相同。

    必须是以结束符结尾的字符串列表。

    void QFileDialog::setFilters ( const QStringList & ) [槽] 这是一个重载成员函数,提供了方便。它的行为基本上和上面的函数相同。

    void QFileDialog::setIconProvider ( QFileIconProvider * provider ) [静态] 设置文件对话框使用的 QFileIconProvider provider

    默认没有QFileIconProvider并且QFileDialog只为每一个目录绘制一个文件夹图标,而对文件则没有图标。

    也可以参考 QFileIconProvider iconProvider ()。

    实例: showimg/main.cpp

    void QFileDialog::setInfoPreview ( QWidget * w, QFilePreview * preview ) 设置被用于作为文件对话框显示文件信息的窗口部件为 w 并且使用 QFilePreview preview 来预览信息。

    通常你需要创建一个继承 QWidget 和QFilePreview的预览窗口部件,所以你需要传递同一个窗口部件两次。 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( "This is not a pixmap" ); setText( "This is a pixmap" ); //... int main( int argc, char** argv ) Preview* p = new Preview; QFileDialog* fd = new QFileDialog( this ); fd-> setInfoPreviewEnabled ( TRUE ); fd-> setInfoPreview ( p, p ); fd-> setPreviewMode ( QFileDialog:: Info ); fd-> show ();

    也可以参考 setContentsPreview ()、 infoPreview previewMode

    void QFileDialog::setInfoPreviewEnabled ( bool )

    设置文件对话框是否提供当前选择文件的信息预览。详细情况请参考 “infoPreview” 属性。

    void QFileDialog::setMode ( Mode )

    设置文件对话框的模式。详细情况请参考 “mode” 属性。

    void QFileDialog::setPreviewMode ( PreviewMode m )

    设置文件对话框的预览模式为 m 。详细情况请参考 “previewMode” 属性。

    void QFileDialog::setSelectedFilter ( const QString & mask ) [虚] 设置文件对话框中当前选择的过滤器为文本 mask 中包含的第一个。

    void QFileDialog::setSelectedFilter ( int n ) [虚] 这是一个重载成员函数,提供了方便。它的行为基本上和上面的函数相同。

    设置文件对话框中当前选择的过滤器为过滤器列表中的第 n 个过滤器。

    也可以参考 filterSelected ()、 selectedFilter selectedFiles selectedFile

    void QFileDialog::setSelection ( const QString & filename ) 设置默认选择为 filename 。如果 filename 为绝对的, setDir ()也会被调用来设置文件对话框的工作目录为 filename 中的目录。

    实例: qdir/qdir.cpp

    void QFileDialog::setShowHiddenFiles ( bool s )

    设置文件对话框中隐藏文件是否被显示为 s 。详细情况请参考 “showHiddenFiles” 属性。

    void QFileDialog::setUrl ( const QUrlOperator & url ) [槽] 设置文件对话框的工作目录为 url 指定的目录。

    也可以参考 url ()。

    void QFileDialog::setViewMode ( ViewMode m )

    设置文件对话框的视图模式为 m 。详细情况请参考 “viewMode” 属性。

    bool QFileDialog::showHiddenFiles () const

    如果文件对话框中隐藏文件被显示,返回真,否则返回假。详细情况请参考 “showHiddenFiles” 属性。

    QUrl QFileDialog::url () const 返回文件对话框中当前工作目录的URL。

    也可以参考 setUrl ()。

    实例: network/networkprotocol/view.cpp

    ViewMode QFileDialog::viewMode () const

    返回文件对话框的视图模式。详细情况请参考 “viewMode” 属性。

    bool contentsPreview

    这个属性保存的是文件对话框是否提供当前选择文件的内容预览。

    默认为假。

    也可以参考 setContentsPreview ()和 infoPreview

    通过 setContentsPreviewEnabled ()设置属性值并且通过 isContentsPreviewEnabled ()来获得属性值。

    QString dirPath

    这个属性保存的是文件对话框的工作目录。

    通过 dirPath ()来获得属性值。

    也可以参考 dir ()和 setDir ()。

    bool infoPreview

    这个属性保存的是文件对话框是否提供当前选择文件的信息预览。

    默认为假。

    通过 setInfoPreviewEnabled ()设置属性值并且通过 isInfoPreviewEnabled ()来获得属性值。

    Mode mode

    这个属性保存的是文件对话框的模式。

    默认模式为 ExistingFile

    通过 setMode ()设置属性值并且通过 mode ()来获得属性值。

    PreviewMode previewMode

    这个属性保存的是文件的对话框的预览模式。

    如果你设置这个模式为 NoPreview 之外的模式,你必须使用 setInfoPreview ()或者 setContentsPreview ()来设置这个对话框的预览窗口部件为你的预览窗口部件并且使用 setInfoPreviewEnabled ()或 setContentsPreviewEnabled ()来让预览窗口部件生效。

    也可以参考 infoPreview contentsPreview viewMode

    通过 setPreviewMode ()设置属性值并且通过 previewMode ()来获得属性值。

    QString selectedFile

    这个属性保存的是选择的文件的名称。

    如果文件被选择,则selectedFile包含文件的名称和它的绝对路径,否则selectedFile为空。

    也可以参考 QString::isEmpty ()、 selectedFiles selectedFilter

    通过 selectedFile ()来获得属性值。

    QStringList selectedFiles

    这个属性保存的是选择的文件的列表。

    如果有一个或多个文件被选择,selectedFiles包含这些文件的名称和它们的绝对路径。如果没有文件被选择或者模式不是ExistingFiles,selectedFiles是一个空列表。

    如果模式为 ExistingFile Directory DirectoryOnly ,使用 selectedFile ()更方便。

    注意,如果你想遍历这个列表,你应该遍历它的复制,例如: QStringList list = myFileDialog.selectedFiles(); QStringList::Iterator it = list. begin (); while( it != list. end () ) { myProcessing( *it ); ++it;

    也可以参考 selectedFile selectedFilter QValueList::empty ()。

    通过 selectedFiles ()来获得属性值。

    QString selectedFilter

    这个属性保存的是文件对话框中用户选择文件的过滤器。

    通过 selectedFilter ()来获得属性值。

    也可以参考 filterSelected ()、 selectedFiles selectedFile

    bool showHiddenFiles

    这个属性保存的是文件对话框中隐藏文件是否显示。

    默认是假,也就是不显示隐藏文件。

    通过 setShowHiddenFiles ()设置属性值并且通过 showHiddenFiles ()来获得属性值。

    ViewMode viewMode

    这个属性保存的是文件对话框的视图模式。

    如果你设置视图模式为 Detail (默认),那么你将看到文件的详细情况,除了文件名之外,还有文件的大小和这个文件最近一次被修改的日期。

    如果你设置视图模式为 List ,那么你将只会看到文件和文件夹的列表。

    请参考 QFileDialog::ViewMode

    通过 setViewMode ()设置属性值并且通过 viewMode ()来获得属性值。 这个文件是 Qt工具包 一部分。 Trolltech 。保留所有权利。