⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 qfiledialog.html

📁 QT参考文档
💻 HTML
📖 第 1 页 / 共 4 页
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- /home/reggie/tmp/qt-3.0-reggie-5401/qt-x11-commercial-3.0.5/src/dialogs/qfiledialog.cpp:1984 -->
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<meta name="Translator" content="Cavendish">
<meta name="Qt zh_CN Documents Website" content="http://www.qiliang.net/qt">
<title>QFileDialog类</title>
<style type="text/css"><!--
h3.fn,span.fn { margin-left: 1cm; text-indent: -1cm; }
a:link { color: #004faf; text-decoration: none }
a:visited { color: #672967; text-decoration: none }
body { background: #ffffff; color: black; font-family: "Times New Roman" }
--></style>
</head>
<body>

<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr bgcolor="#E5E5E5">
<td valign=center>
 <a href="index.html">
<font color="#004faf">主页</font></a>
 | <a href="classes.html">
<font color="#004faf">所有的类</font></a>
 | <a href="mainclasses.html">
<font color="#004faf">主要的类</font></a>
 | <a href="annotated.html">
<font color="#004faf">注释的类</font></a>
 | <a href="groups.html">
<font color="#004faf">分组的类</font></a>
 | <a href="functions.html">
<font color="#004faf">函数</font></a>
</td>
<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table>
<h1 align=center>QFileDialog类参考</h1>

<p>QFileDialog类提供了允许用户选择文件或者目录的对话框。
<a href="#details">详情请见……</a>
<p><tt>#include &lt;<a href="qfiledialog-h.html">qfiledialog.h</a>&gt;</tt>
<p>继承了<a href="qdialog.html">QDialog</a>。
<p><a href="qfiledialog-members.html">所有成员函数的列表。</a>
<h2>公有成员</h2>
<ul>
<li><div class=fn><a href="#QFileDialog"><b>QFileDialog</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;dirName, const&nbsp;QString&nbsp;&amp;&nbsp;filter = QString::null, QWidget&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0, bool&nbsp;modal = FALSE )</div></li>
<li><div class=fn><a href="#QFileDialog-2"><b>QFileDialog</b></a> ( QWidget&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0, bool&nbsp;modal = FALSE )</div></li>
<li><div class=fn><a href="#~QFileDialog"><b>~QFileDialog</b></a> ()</div></li>
<li><div class=fn>QString <a href="#selectedFile"><b>selectedFile</b></a> () const</div></li>
<li><div class=fn>QString <a href="#selectedFilter"><b>selectedFilter</b></a> () const</div></li>
<li><div class=fn>virtual void <a href="#setSelectedFilter"><b>setSelectedFilter</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;mask )</div></li>
<li><div class=fn>virtual void <a href="#setSelectedFilter-2"><b>setSelectedFilter</b></a> ( int&nbsp;n )</div></li>
<li><div class=fn>void <a href="#setSelection"><b>setSelection</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;filename )</div></li>
<li><div class=fn>void <a href="#selectAll"><b>selectAll</b></a> ( bool&nbsp;b )</div></li>
<li><div class=fn>QStringList <a href="#selectedFiles"><b>selectedFiles</b></a> () const</div></li>
<li><div class=fn>QString <a href="#dirPath"><b>dirPath</b></a> () const</div></li>
<li><div class=fn>void <a href="#setDir"><b>setDir</b></a> ( const&nbsp;QDir&nbsp;&amp;&nbsp;dir )</div></li>
<li><div class=fn>const QDir * <a href="#dir"><b>dir</b></a> () const</div></li>
<li><div class=fn>void <a href="#setShowHiddenFiles"><b>setShowHiddenFiles</b></a> ( bool&nbsp;s )</div></li>
<li><div class=fn>bool <a href="#showHiddenFiles"><b>showHiddenFiles</b></a> () const</div></li>
<li><div class=fn>void <a href="#rereadDir"><b>rereadDir</b></a> ()</div></li>
<li><div class=fn>void <a href="#resortDir"><b>resortDir</b></a> ()</div></li>
<li><div class=fn>enum <a href="#Mode-enum"><b>Mode</b></a> { AnyFile, ExistingFile, Directory, ExistingFiles, DirectoryOnly }</div></li>
<li><div class=fn>void <a href="#setMode"><b>setMode</b></a> ( Mode )</div></li>
<li><div class=fn>Mode <a href="#mode"><b>mode</b></a> () const</div></li>
<li><div class=fn>enum <a href="#ViewMode-enum"><b>ViewMode</b></a> { Detail, List }</div></li>
<li><div class=fn>enum <a href="#PreviewMode-enum"><b>PreviewMode</b></a> { NoPreview, Contents, Info }</div></li>
<li><div class=fn>void <a href="#setViewMode"><b>setViewMode</b></a> ( ViewMode&nbsp;m )</div></li>
<li><div class=fn>ViewMode <a href="#viewMode"><b>viewMode</b></a> () const</div></li>
<li><div class=fn>void <a href="#setPreviewMode"><b>setPreviewMode</b></a> ( PreviewMode&nbsp;m )</div></li>
<li><div class=fn>PreviewMode <a href="#previewMode"><b>previewMode</b></a> () const</div></li>
<li><div class=fn>bool <a href="#isInfoPreviewEnabled"><b>isInfoPreviewEnabled</b></a> () const</div></li>
<li><div class=fn>bool <a href="#isContentsPreviewEnabled"><b>isContentsPreviewEnabled</b></a> () const</div></li>
<li><div class=fn>void <a href="#setInfoPreviewEnabled"><b>setInfoPreviewEnabled</b></a> ( bool )</div></li>
<li><div class=fn>void <a href="#setContentsPreviewEnabled"><b>setContentsPreviewEnabled</b></a> ( bool )</div></li>
<li><div class=fn>void <a href="#setInfoPreview"><b>setInfoPreview</b></a> ( QWidget&nbsp;*&nbsp;w, QFilePreview&nbsp;*&nbsp;preview )</div></li>
<li><div class=fn>void <a href="#setContentsPreview"><b>setContentsPreview</b></a> ( QWidget&nbsp;*&nbsp;w, QFilePreview&nbsp;*&nbsp;preview )</div></li>
<li><div class=fn>QUrl <a href="#url"><b>url</b></a> () const</div></li>
<li><div class=fn>void <a href="#addFilter"><b>addFilter</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;filter )</div></li>
</ul>
<h2>公有槽</h2>
<ul>
<li><div class=fn>void <a href="#setDir-2"><b>setDir</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;pathstr )</div></li>
<li><div class=fn>void <a href="#setUrl"><b>setUrl</b></a> ( const&nbsp;QUrlOperator&nbsp;&amp;&nbsp;url )</div></li>
<li><div class=fn>void <a href="#setFilter"><b>setFilter</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;newFilter )</div></li>
<li><div class=fn>void <a href="#setFilters"><b>setFilters</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;filters )</div></li>
<li><div class=fn>void <a href="#setFilters-2"><b>setFilters</b></a> ( const&nbsp;char&nbsp;**&nbsp;types )</div></li>
<li><div class=fn>void <a href="#setFilters-3"><b>setFilters</b></a> ( const QStringList &amp; )</div></li>
</ul>
<h2>信号</h2>
<ul>
<li><div class=fn>void <a href="#fileHighlighted"><b>fileHighlighted</b></a> ( const QString &amp; )</div></li>
<li><div class=fn>void <a href="#fileSelected"><b>fileSelected</b></a> ( const QString &amp; )</div></li>
<li><div class=fn>void <a href="#filesSelected"><b>filesSelected</b></a> ( const QStringList &amp; )</div></li>
<li><div class=fn>void <a href="#dirEntered"><b>dirEntered</b></a> ( const QString &amp; )</div></li>
<li><div class=fn>void <a href="#filterSelected"><b>filterSelected</b></a> ( const QString &amp; )</div></li>
</ul>
<h2>静态公有函数</h2>
<ul>
<li><div class=fn>QString <a href="#getOpenFileName"><b>getOpenFileName</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;startWith = QString::null, const&nbsp;QString&nbsp;&amp;&nbsp;filter = QString::null, QWidget&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0, const&nbsp;QString&nbsp;&amp;&nbsp;caption = QString::null, QString&nbsp;*&nbsp;selectedFilter = 0, bool&nbsp;resolveSymlinks = TRUE )</div></li>
<li><div class=fn>QString <a href="#getSaveFileName"><b>getSaveFileName</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;startWith = QString::null, const&nbsp;QString&nbsp;&amp;&nbsp;filter = QString::null, QWidget&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0, const&nbsp;QString&nbsp;&amp;&nbsp;caption = QString::null, QString&nbsp;*&nbsp;selectedFilter = 0, bool&nbsp;resolveSymlinks = TRUE )</div></li>
<li><div class=fn>QString <a href="#getExistingDirectory"><b>getExistingDirectory</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;dir = QString::null, QWidget&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0, const&nbsp;QString&nbsp;&amp;&nbsp;caption = QString::null, bool&nbsp;dirOnly = TRUE, bool&nbsp;resolveSymlinks = TRUE )</div></li>
<li><div class=fn>QStringList <a href="#getOpenFileNames"><b>getOpenFileNames</b></a> ( const&nbsp;QString&nbsp;&amp;&nbsp;filter = QString::null, const&nbsp;QString&nbsp;&amp;&nbsp;dir = QString::null, QWidget&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0, const&nbsp;QString&nbsp;&amp;&nbsp;caption = QString::null, QString&nbsp;*&nbsp;selectedFilter = 0, bool&nbsp;resolveSymlinks = TRUE )</div></li>
<li><div class=fn>void <a href="#setIconProvider"><b>setIconProvider</b></a> ( QFileIconProvider&nbsp;*&nbsp;provider )</div></li>
<li><div class=fn>QFileIconProvider * <a href="#iconProvider"><b>iconProvider</b></a> ()</div></li>
</ul>
<h2>属性</h2>
<ul>
<li><div class=fn>bool <a href="#contentsPreview-prop"><b>contentsPreview</b></a>&nbsp;- 文件对话框是否提供当前选择文件的内容预览</div></li>
<li><div class=fn>QString <a href="#dirPath-prop"><b>dirPath</b></a>&nbsp;- 文件对话框的工作目录&nbsp;<em>(只读)</em></div></li>
<li><div class=fn>bool <a href="#infoPreview-prop"><b>infoPreview</b></a>&nbsp;- 文件对话框是否提供当前选择文件的信息预览</div></li>
<li><div class=fn>Mode <a href="#mode-prop"><b>mode</b></a>&nbsp;- 文件对话框的模式</div></li>
<li><div class=fn>PreviewMode <a href="#previewMode-prop"><b>previewMode</b></a>&nbsp;- 文件的对话框的预览模式</div></li>
<li><div class=fn>QString <a href="#selectedFile-prop"><b>selectedFile</b></a>&nbsp;- 选择的文件的名称&nbsp;<em>(只读)</em></div></li>
<li><div class=fn>QStringList <a href="#selectedFiles-prop"><b>selectedFiles</b></a>&nbsp;- 选择的文件的列表&nbsp;<em>(只读)</em></div></li>
<li><div class=fn>QString <a href="#selectedFilter-prop"><b>selectedFilter</b></a>&nbsp;- 文件对话框中用户选择文件的过滤器&nbsp;<em>(只读)</em></div></li>
<li><div class=fn>bool <a href="#showHiddenFiles-prop"><b>showHiddenFiles</b></a>&nbsp;- 文件对话框中隐藏文件是否显示</div></li>
<li><div class=fn>ViewMode <a href="#viewMode-prop"><b>viewMode</b></a>&nbsp;- 文件对话框的视图模式</div></li>
</ul>
<h2>保护成员</h2>
<ul>
<li><div class=fn>void <a href="#addWidgets"><b>addWidgets</b></a> ( QLabel&nbsp;*&nbsp;l, QWidget&nbsp;*&nbsp;w, QPushButton&nbsp;*&nbsp;b )</div></li>
<li><div class=fn>void <a href="#addToolButton"><b>addToolButton</b></a> ( QButton&nbsp;*&nbsp;b, bool&nbsp;separator = FALSE )</div></li>
<li><div class=fn>void <a href="#addLeftWidget"><b>addLeftWidget</b></a> ( QWidget&nbsp;*&nbsp;w )</div></li>
<li><div class=fn>void <a href="#addRightWidget"><b>addRightWidget</b></a> ( QWidget&nbsp;*&nbsp;w )</div></li>
</ul>
<hr><a name="details"></a><h2>详细描述</h2>

QFileDialog类提供了允许用户选择文件或者目录的对话框。
<p> QFileDialog类允许用户在它们的文件系统上遍历来选择一个或多个文件或目录。
<p> 最简单的方式是使用静态函数来创建一个QFileDialog。在Windows上,这些静态函数将调用本地Windows文件对话框并且在Mac OS X上,这些静态函数将调用本地Mac OS X文件对话框。
<p> <pre>
    <a href="qstring.html">QString</a> s = QFileDialog::<a href="#getOpenFileName">getOpenFileName</a>(
                    "/home",
                    "Images (*.png *.xpm *.jpg)",
                    this,
                    "open file dialog"
                    "Choose a file" );
  </pre>
 
<p> 在上面的实例中,一个模式对话框被使用静态函数来创建。开始目录被设置为“/home”。文件过滤器被设置为“Images (*.png *.xpm *.jpg)”。文件对话框的父对象被设置为<em>this</em>并且它被给定一个标识名称——“open file dialog”。文件对话框上面的标题被设置为“Choose a file”。
<p> 你可以不使用静态函数创建你自己的QFileDialog。通过调用<a href="#setMode">setMode</a>(),你可以设置可以从QFileDialog返回什么。
<p> <pre>
    QFileDialog* fd = new QFileDialog( this, "file dialog", TRUE );
    fd-&gt;<a href="#setMode">setMode</a>( QFileDialog::<a href="#Mode-enum">AnyFile</a> );
  </pre>
 
<p> 在上面的实例中,文件对话框的模式被设置为<a href="#Mode-enum">AnyFile</a>,也就是说用户可以设置任何文件或者甚至指定一个不存在的文件。这个模式对于创建一个“File Save As”文件对话框。如果用户必须选择存在的文件,请使用<a href="#Mode-enum">ExistingFile</a>,或者如果可以选择目录,请使用<a href="#Mode-enum">Directory</a>。(模式的完整列表请参考<a href="#Mode-enum">QFileDialog::Mode</a>枚举变量。)
<p> 你可以通过<a href="#mode">mode</a>()重新得到对话框的模式。也可以使用<a href="#setFilter">setFilter</a>()来设置对话框的文件过滤器。
<p> <pre>
    fd-&gt;setFilter( "Images (*.png *.xpm *.jpg)" );
  </pre>
 
<p> 在上面的实例中,过滤器被设置为“Images (*.png *.xpm *.jpg)”,这也就是说只有扩展名为<tt>png</tt>、<tt>xpm</tt>或<tt>jpg</tt>的文件可以被显示在QFileDialog中。你可以使用<a href="#setFilters">setFilters</a>()来设置几个过滤器并且使用<a href="#addFilter">addFilter</a>()来添加额外的过滤器。使用<a href="#setSelectedFilter">setSelectedFilter</a>()来选择你给定的其中一个作为文件对话框默认过滤器。只用用户改变过滤器,<a href="#filterSelected">filterSelected</a>()信号就被发射。
<p> 文件对话框有两种视图模式,QFileDialog::List可以简单地列出文件和目录名称并且QFileDialog::Detail会在旁边显示额外的信息,例如,文件大小。
<p> <pre>
    fd-&gt;setViewMode( QFileDialog::<a href="#ViewMode-enum">Detail</a> );
  </pre>
 
<p> 在创建你自己的文件对话框时最后需要的最后重要的函数是<a href="#selectedFile">selectedFile</a>()。
<p> <pre>
    <a href="qstring.html">QString</a> fileName;
    if ( fd-&gt;exec() == QDialog::<a href="qdialog.html#DialogCode-enum">Accepted</a> )
        fileName = fd-&gt;selectedFile();
  </pre>
 
<p> 在上面的实例中,模式对话框被创建并被显示。如果用户点击OK,然后他们选择的文件被放入<tt>fileName</tt>中。
<p> 如果你使用<a href="#Mode-enum">ExistingFiles</a>模式,那么你将需要使用<a href="#selectedFiles">selectedFiles</a>()在一个<a href="qstringlist.html">QStringList</a>中返回选择的文件。
<p> 对话框工作目录可以使用<a href="#setDir">setDir</a>()来设置。隐藏文件的显示控制可以使用<a href="#setShowHiddenFiles">setShowHiddenFiles</a>()。对话框可以被强制使用<a href="#rereadDir">rereadDir</a>()重新读取目录并且使用<a href="#resortDir">resortDir</a>()来重新排列目录。可以使用<a href="#selectAll">selectAll</a>()来选择当前目录下的所有文件。
<p> <h3> 创建和使用预览窗口部件
</h3>
<a name="1"></a><p> QFileDialog中使用两种预览窗口部件:<em>内容</em>预览窗口部件和<em>信息</em>预览窗口部件。它们的创建和使用方法相同,除了函数名不同以外,例如,<a href="#setContentsPreview">setContentsPreview</a>()和<a href="#setInfoPreview">setInfoPreview</a>()。
<p> 预览窗口部件被放置在QFileDialog中,让用户能够看到文件的内容或者有关文件的信息。
<p> <pre>
    class Preview : public <a href="qlabel.html">QLabel</a>, public QFilePreview
    {
    public:
        Preview( <a href="qwidget.html">QWidget</a> *parent=0 ) : <a href="qlabel.html">QLabel</a>( parent ) {}

        void previewUrl( const <a href="qurl.html">QUrl</a> &amp;u )
        {
            <a href="qstring.html">QString</a> path = u.<a href="qurl.html#path">path</a>();
            <a href="qpixmap.html">QPixmap</a> pix( path );
            if ( pix.<a href="qpixmap.html#isNull">isNull</a>() )
                setText( "This is not a pixmap" );

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -