?? qfiledialog.html
字號:
<h3 class=fn><a href="qstringlist.html">QStringList</a> <a name="getOpenFileNames"></a>QFileDialog::getOpenFileNames ( const <a href="qstring.html">QString</a> & filter = QString::null, const <a href="qstring.html">QString</a> & dir = QString::null, <a href="qwidget.html">QWidget</a> * parent = 0, const char * name = 0, const <a href="qstring.html">QString</a> & caption = QString::null, <a href="qstring.html">QString</a> * selectedFilter = 0, bool resolveSymlinks = TRUE )<tt> [靜態]</tt>
</h3>
這是一個返回由用戶選擇的已經存在的一個或多個文件的方便的靜態函數。
<p> <pre>
<a href="qstringlist.html">QStringList</a> files = QFileDialog::<a href="#getOpenFileNames">getOpenFileNames</a>(
"Images (*.png *.xpm *.jpg)",
"/home",
this,
"open files dialog"
"Select one or more files to open" );
</pre>
<p> 這個函數創建了一個父對象為<em>parent</em>、名稱為<em>name</em>的模式文件對話框。如果父對象不為0,這個對話框將被顯示在它的父對象上面的中間。
<p> 文件的工作目錄將被設置為<em>dir</em>。如果<em>dir</em>包括一個文件名,這個文件將被選擇。過濾器被設置為<em>filter</em>,這樣只有匹配過濾器的文件才會被顯示。被選擇的過濾器被設置為<em>selectedFilter</em>。參數<em>dir</em>、<em>selectedFilter</em>和<em>filter</em>可以為<a href="qstring.html#QString-null">QString::null</a>。
<p> 對話框的標題可以被設置為<em>caption</em>。如果<em>caption</em>沒有被指定,那么將會有一個默認標題被使用。
<p> 在Windows和Mac OS X下,這個靜態函數將使用本地文件對話框而不是QFileDialog,除非應用程序的風格被設置為本地風格以外的某種風格。
<p> 在Unix/X11下,文件對話框的通常行為是解析并跟蹤符號連接。例如,如果/usr/tmp是/var/tmp的符號連接,那么在進入/usr/tmp之后,文件對話框將改變到/var/tmp。如果<em>resolveSymlinks</em>為假,文件對話框將把符號連接看作通常的目錄。
<p> 注意如果你想遍歷文件的列表,你應該在一個復制上進行遍歷,例如:
<pre>
<a href="qstringlist.html">QStringList</a> list = files;
QStringList::Iterator it = list.<a href="qvaluelist.html#begin">begin</a>();
while( it != list.<a href="qvaluelist.html#end">end</a>() ) {
myProcessing( *it );
++it;
}
</pre>
<p> <p>也可以參考<a href="#getOpenFileName">getOpenFileName</a>()、<a href="#getSaveFileName">getSaveFileName</a>()和<a href="#getExistingDirectory">getExistingDirectory</a>()。
<h3 class=fn><a href="qstring.html">QString</a> <a name="getSaveFileName"></a>QFileDialog::getSaveFileName ( const <a href="qstring.html">QString</a> & startWith = QString::null, const <a href="qstring.html">QString</a> & filter = QString::null, <a href="qwidget.html">QWidget</a> * parent = 0, const char * name = 0, const <a href="qstring.html">QString</a> & caption = QString::null, <a href="qstring.html">QString</a> * selectedFilter = 0, bool resolveSymlinks = TRUE )<tt> [靜態]</tt>
</h3>
這是一個返回由用戶選擇的已經存在的文件的方便的靜態函數。這個文件不一定存在。
<p> 這個函數創建了一個父對象為<em>parent</em>、名稱為<em>name</em>的模式文件對話框。如果父對象不為0,這個對話框將被顯示在它的父對象上面的中間。
<p> <pre>
<a href="qstring.html">QString</a> s = QFileDialog::<a href="#getSaveFileName">getSaveFileName</a>(
"/home",
"Images (*.png *.xpm *.jpg)",
this,
"save file dialog"
"Choose a filename to save under" );
</pre>
<p> 文件的工作目錄將被設置為<em>startWith</em>。如果<em>startWith</em>包括一個文件名,這個文件將被選擇。過濾器被設置為<em>filter</em>,這樣只有匹配過濾器的文件才會被顯示。被選擇的過濾器被設置為<em>selectedFilter</em>。參數<em>startWith</em>、<em>selectedFilter</em>和<em>filter</em>可以為<a href="qstring.html#QString-null">QString::null</a>。
<p> 對話框的標題可以被設置為<em>caption</em>。如果<em>caption</em>沒有被指定,那么將會有一個默認標題被使用。
<p> 在Windows和Mac OS X下,這個靜態函數將使用本地文件對話框而不是QFileDialog,除非應用程序的風格被設置為本地風格以外的某種風格。
<p> 在Unix/X11下,文件對話框的通常行為是解析并跟蹤符號連接。例如,如果/usr/tmp是/var/tmp的符號連接,那么在進入/usr/tmp之后,文件對話框將改變到/var/tmp。如果<em>resolveSymlinks</em>為假,文件對話框將把符號連接看作通常的目錄。
<p> <p>也可以參考<a href="#getOpenFileName">getOpenFileName</a>()、<a href="#getOpenFileNames">getOpenFileNames</a>()和<a href="#getExistingDirectory">getExistingDirectory</a>()。
<p>實例:<a href="qaction-application-example.html#x1069">action/application.cpp</a>、<a href="addressbook-example.html#x517">addressbook/mainwindow.cpp</a>、<a href="simple-application-example.html#x1513">application/application.cpp</a>、<a href="tutorial2-05.html#x2470">chart/chartform.cpp</a>、<a href="qmag-example.html#x1628">qmag/qmag.cpp</a>、<a href="qwerty-example.html#x364">qwerty/qwerty.cpp</a>和<a href="showimg-example.html#x1257">showimg/showimg.cpp</a>。
<h3 class=fn><a href="qfileiconprovider.html">QFileIconProvider</a> * <a name="iconProvider"></a>QFileDialog::iconProvider ()<tt> [靜態]</tt>
</h3>
返回在文件對話框上當前設置的圖標提供者的指針。默認情況下沒有圖標提供者,并且這個函數返回0。
<p> <p>也可以參考<a href="#setIconProvider">setIconProvider</a>()和<a href="qfileiconprovider.html">QFileIconProvider</a>。
<h3 class=fn>bool <a name="isContentsPreviewEnabled"></a>QFileDialog::isContentsPreviewEnabled () const
</h3>
<p>如果文件對話框提供當前選擇文件的內容預覽,返回真,否則返回假。詳細情況請參考<a href="qfiledialog.html#contentsPreview-prop">“contentsPreview”</a>屬性。
<h3 class=fn>bool <a name="isInfoPreviewEnabled"></a>QFileDialog::isInfoPreviewEnabled () const
</h3>
<p>如果文件對話框提供當前選擇文件的信息預覽,返回真,否則返回假。詳細情況請參考<a href="qfiledialog.html#infoPreview-prop">“infoPreview”</a>屬性。
<h3 class=fn><a href="qfiledialog.html#Mode-enum">Mode</a> <a name="mode"></a>QFileDialog::mode () const
</h3>
<p>Returns the file dialog's mode.
See the <a href="qfiledialog.html#mode-prop">"mode"</a> property for details.
<h3 class=fn><a href="qfiledialog.html#PreviewMode-enum">PreviewMode</a> <a name="previewMode"></a>QFileDialog::previewMode () const
</h3>
<p>返回文件對話框的預覽模式。詳細情況請參考<a href="qfiledialog.html#previewMode-prop">“previewMode”</a>屬性。
<h3 class=fn>void <a name="rereadDir"></a>QFileDialog::rereadDir ()
</h3>
重新讀取在文件對話框中顯示的當前目錄。
<p> 只有在如果目錄的內容發生改變并且你想刷新文件對話框來反映這樣的變化時,你才需要調用這個函數。
<p> <p>也可以參考<a href="#resortDir">resortDir</a>()。
<h3 class=fn>void <a name="resortDir"></a>QFileDialog::resortDir ()
</h3>
重新排列所顯示的目錄。
<p> <p>也可以參考<a href="#rereadDir">rereadDir</a>()。
<h3 class=fn>void <a name="selectAll"></a>QFileDialog::selectAll ( bool b )
</h3>
如果<em>b</em>為真,那么當前目錄下的所有文件都被選擇,否則它們都被取消選擇。
<h3 class=fn><a href="qstring.html">QString</a> <a name="selectedFile"></a>QFileDialog::selectedFile () const
</h3>
<p>返回被選擇文件的名稱。詳細情況請參考<a href="qfiledialog.html#selectedFile-prop">“selectedFile”</a>屬性。
<h3 class=fn><a href="qstringlist.html">QStringList</a> <a name="selectedFiles"></a>QFileDialog::selectedFiles () const
</h3>
<p>返回被選擇文件的列表。詳細情況請參考<a href="qfiledialog.html#selectedFiles-prop">“selectedFiles”</a>屬性。
<h3 class=fn><a href="qstring.html">QString</a> <a name="selectedFilter"></a>QFileDialog::selectedFilter () const
</h3>
<p>返回文件對話框中用戶所選擇的過濾器。詳細情況請參考<a href="qfiledialog.html#selectedFilter-prop">“selectedFilter”</a>屬性。
<h3 class=fn>void <a name="setContentsPreview"></a>QFileDialog::setContentsPreview ( <a href="qwidget.html">QWidget</a> * w, <a href="qfilepreview.html">QFilePreview</a> * preview )
</h3>
設置被用于作為文件對話框顯示文件內容的窗口部件為<em>w</em>并且使用<a href="qfilepreview.html">QFilePreview</a> <em>preview</em>來預覽內容。
<p> 通常你需要創建一個繼承<a href="qwidget.html">QWidget</a>和QFilePreview的預覽窗口部件,所以你需要傳遞同一個窗口部件兩次。
<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> &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" );
else
setPixmap( pix );
}
};
//...
int main( int argc, char** argv )
{
Preview* p = new Preview;
QFileDialog* fd = new QFileDialog( this );
fd-><a href="#setContentsPreviewEnabled">setContentsPreviewEnabled</a>( TRUE );
fd-><a href="#setContentsPreview">setContentsPreview</a>( p, p );
fd-><a href="#setPreviewMode">setPreviewMode</a>( QFileDialog::<a href="#PreviewMode-enum">Contents</a> );
fd-><a href="qdialog.html#show">show</a>();
}
</pre>
<p> <p>也可以參考<a href="#contentsPreview-prop">contentsPreview</a>、<a href="#setInfoPreview">setInfoPreview</a>()和<a href="#previewMode-prop">previewMode</a>。
<p>實例:<a href="qdir-example.html#x1810">qdir/qdir.cpp</a>。
<h3 class=fn>void <a name="setContentsPreviewEnabled"></a>QFileDialog::setContentsPreviewEnabled ( bool )
</h3>
<p>設置文件對話框是否提供當前選擇文件的內容預覽。詳細情況請參考<a href="qfiledialog.html#contentsPreview-prop">“contentsPreview”</a>屬性。
<h3 class=fn>void <a name="setDir"></a>QFileDialog::setDir ( const <a href="qdir.html">QDir</a> & dir )
</h3>
設置文件對話框的工作目錄是<em>dir</em>。
<p>也可以參考<a href="#dir">dir</a>()。
<h3 class=fn>void <a name="setDir-2"></a>QFileDialog::setDir ( const <a href="qstring.html">QString</a> & pathstr )<tt> [槽]</tt>
</h3>
這是一個重載成員函數,提供了方便。它的行為基本上和上面的函數相同。
<p> 設置文件對話框的工作目錄是<em>pathstr</em>。
<p> <p>也可以參考<a href="#dir">dir</a>()。
<h3 class=fn>void <a name="setFilter"></a>QFileDialog::setFilter ( const <a href="qstring.html">QString</a> & newFilter )<tt> [槽]</tt>
</h3>
<p> 設置文件對話框中使用的過濾器為<em>newFilter</em>。
<p> 如果<em>newFilter</em>中包含一對包含一個或多個<em><b>anything*something</b></em>,由空格或者分號分隔的括號,那么只有其中被括號包含的內容會被作為過濾器。這也就是說下面這些調用方法都是相同的:
<p> <pre>
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++" );
</pre>
<p> <p>也可以參考<a href="#setFilters">setFilters</a>()。
<h3 class=fn>void <a name="setFilters"></a>QFileDialog::setFilters ( const <a href="qstring.html">QString</a> & filters )<tt> [槽]</tt>
</h3>
設置文件對話框中使用的過濾器為<em>filters</em>。過濾器中的每一組必須使用<tt>;;</tt>(<em>兩個</em>分號)來分隔。
<p> <pre>
<a href="qstring.html">QString</a> types("*.png;;*.xpm;;*.jpg");
QFileDialog fd = new QFileDialog( this );
fd-><a href="#setFilters">setFilters</a>( types );
fd-><a href="qdialog.html#show">show</a>();
</pre>
<h3 class=fn>void <a name="setFilters-2"></a>QFileDialog::setFilters ( const char ** types )<tt> [槽]</tt>
</h3>
這是一個重載成員函數,提供了方便。它的行為基本上和上面的函數相同。
<p> 必須是以結束符結尾的字符串列表。
<h3 class=fn>void <a name="setFilters-3"></a>QFileDialog::setFilters ( const <a href="qstringlist.html">QStringList</a> & )<tt> [槽]</tt>
</h3>
這是一個重載成員函數,提供了方便。它的行為基本上和上面的函數相同。
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -