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

📄 qdialog.html

📁 QT参考文档
💻 HTML
📖 第 1 页 / 共 2 页
字号:
<!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/qdialog.cpp:59 -->
<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>QDialog类</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>QDialog类参考</h1>

<p>QDialog类是对话框窗口的基类。
<a href="#details">详情请见……</a>
<p><tt>#include &lt;<a href="qdialog-h.html">qdialog.h</a>&gt;</tt>
<p>继承了<a href="qwidget.html">QWidget</a>。
<p>被<a href="qcolordialog.html">QColorDialog</a>、<a href="qerrormessage.html">QErrorMessage</a>、<a href="qfiledialog.html">QFileDialog</a>、<a href="qfontdialog.html">QFontDialog</a>、<a href="qinputdialog.html">QInputDialog</a>、<a href="qmessagebox.html">QMessageBox</a>、<a href="qprogressdialog.html">QProgressDialog</a>、<a href="qtabdialog.html">QTabDialog</a>和<a href="qwizard.html">QWizard</a>继承。
<p><a href="qdialog-members.html">所有成员函数的列表。</a>
<h2>公有成员</h2>
<ul>
<li><div class=fn><a href="#QDialog"><b>QDialog</b></a> ( QWidget&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0, bool&nbsp;modal = FALSE, WFlags&nbsp;f = 0 )</div></li>
<li><div class=fn><a href="#~QDialog"><b>~QDialog</b></a> ()</div></li>
<li><div class=fn>enum <a href="#DialogCode-enum"><b>DialogCode</b></a> { Rejected, Accepted }</div></li>
<li><div class=fn>int <a href="#result"><b>result</b></a> () const</div></li>
<li><div class=fn>virtual void <a href="#show"><b>show</b></a> ()</div></li>
<li><div class=fn>void <a href="#setOrientation"><b>setOrientation</b></a> ( Orientation&nbsp;orientation )</div></li>
<li><div class=fn>Orientation <a href="#orientation"><b>orientation</b></a> () const</div></li>
<li><div class=fn>void <a href="#setExtension"><b>setExtension</b></a> ( QWidget&nbsp;*&nbsp;extension )</div></li>
<li><div class=fn>QWidget * <a href="#extension"><b>extension</b></a> () const</div></li>
<li><div class=fn>void <a href="#setSizeGripEnabled"><b>setSizeGripEnabled</b></a> ( bool )</div></li>
<li><div class=fn>bool <a href="#isSizeGripEnabled"><b>isSizeGripEnabled</b></a> () const</div></li>
</ul>
<h2>公有槽</h2>
<ul>
<li><div class=fn>int <a href="#exec"><b>exec</b></a> ()</div></li>
</ul>
<h2>属性</h2>
<ul>
<li><div class=fn>bool <a href="#sizeGripEnabled-prop"><b>sizeGripEnabled</b></a>&nbsp;- 大小控制是否生效</div></li>
</ul>
<h2>保护成员</h2>
<ul>
<li><div class=fn>void <a href="#setResult"><b>setResult</b></a> ( int&nbsp;i )</div></li>
</ul>
<h2>保护槽</h2>
<ul>
<li><div class=fn>virtual void <a href="#done"><b>done</b></a> ( int&nbsp;r )</div></li>
<li><div class=fn>virtual void <a href="#accept"><b>accept</b></a> ()</div></li>
<li><div class=fn>virtual void <a href="#reject"><b>reject</b></a> ()</div></li>
<li><div class=fn>void <a href="#showExtension"><b>showExtension</b></a> ( bool&nbsp;showIt )</div></li>
</ul>
<hr><a name="details"></a><h2>详细描述</h2>


QDialog类是对话框窗口的基类。
<p> 


<p> 对话框窗口是主要用于短期任务以及和用户进行简要通讯的顶级窗口。QDialog可以是模式的也可以是非模式的。QDialog支持<a href="#extensibility">扩展性</a>并且可以提供<a href="#return">返回值</a>。它们可以有<a href="#default">默认按钮</a>。QDialog也可以有一个<a href="qsizegrip.html">QSizeGrip</a>在它的右下角,使用<a href="#setSizeGripEnabled">setSizeGripEnabled</a>()。
<p> 注意QDialog使用父窗口部件的方法和Qt中其它类稍微不同。对话框总是顶级窗口部件,但是如果它有一个父对象,它的默认位置就是父对象的中间。它也将和父对象共享工具条条目。
<p> 这里有三种有用的对话框:
<p> <ol type=1>
<p> <li> <b>模式</b>对话框就是阻塞同一应用程序中其它可视窗口的输入的对话框:用户必须完成这个对话框中的交互操作并且关闭了它之后才能访问应用程序中的其它任何窗口。模式对话框有它们自己的本地事件循环。用来让用户选择一个文件或者用来设置应用程序参数的对话框通常是模式的。调用<a href="#exec">exec</a>()来显示模式对话框。当用户关闭这个对话框,exec()将提供一个可用的<a href="#return">返回值</a>并且这时流程控制继续从调用exec()的地方进行。通常,我们连接默认按钮,例如“OK”到<a href="#accept">accept</a>()槽并且把“Cancel”连接到<a href="#reject">reject</a>()槽,来使对话框关闭并且返回适当的值。另外我们也可以连接<a href="#done">done</a>()槽,传递给它<a href="#DialogCode-enum">Accepted</a>或<a href="#DialogCode-enum">Rejected</a>。
<p> <li> <b>非模式</b>对话框是和同一个程序中其它窗口操作无关的对话框。在字处理软件中查找和替换对话框通常是非模式的来允许同时与应用程序主窗口和对话框进行交互。调用<a href="#show">show</a>()来显示非模式对话框。show()立即返回,这样调用代码中的控制流将会继续。在实践中你将会经常调用show()并且在调用show()的函数最后,控制返回主事件循环。
<p> <li>
<a name="semimodal"></a>
“<b>半模式</b>”对话框是立即把控制返回给调用者的模式对话框。半模式对话框没有它们自己的事件循环,所以你将需要周期性地调用<a href="qapplication.html#processEvents">QApplication::processEvents</a>()来让这个半模式对话框有处理它的事件的机会。进程对话框(例如<a href="qprogressdialog.html">QProgressDialog</a>)就是一个实例,在你想让用户能够和进程对话框交互的地方那个,例如撤销一个长期运行的操作,但是需要实际上执行这个操作。半模式对话框模式标记被设置为真并且调用<a href="#show">show</a>()函数来被显示。
</ol>
<p> <a name="default"></a>
<h3> 默认按钮
</h3>
<a name="1"></a><p> 对话框的“默认”按钮适当用户按下回车键或者换行键时被按下的按钮。这个按钮用来表示用户接受对话框的设置并且希望关闭这个对话框。使用<a href="qpushbutton.html#setDefault">QPushButton::setDefault</a>()、<a href="qpushbutton.html#isDefault">QPushButton::isDefault</a>()和<a href="qpushbutton.html#autoDefault">QPushButton::autoDefault</a>()来设置并且控制对话框的默认按钮。
<p> <a name="extensibility"></a>
<h3> 扩展性
</h3>
<a name="1-1"></a><p> 扩展性是可以用两种方式来显示对话框:一个局部对话框用来显示通常最常用的选项,和一个显示所有选项的完全对话框。通常可扩展的对话框将初始化为一个局部对话框,但是有一个“更多”按钮。如果用户点击这个“更多”按钮,完全对话框将会出现。扩展性是由<a href="#setExtension">setExtension</a>()、<a href="#setOrientation">setOrientation</a>()和<a href="#showExtension">showExtension</a>()。
<p> <a name="return"></a>
<h3> 返回值(模式对话框)
</h3>
<a name="1-2"></a><p> 模式对话框通常用在需要返回值的地方,例如需要分清用户按下“OK”还是“Cancel”。对话框可以通过调用<a href="#accept">accept</a>()或<a href="#reject">reject</a>()槽来被关闭,并且<a href="#exec">exec</a>()将返回适当的<a href="#DialogCode-enum">Accepted</a>或<a href="#DialogCode-enum">Rejected</a>。exec()返回这个对话框的结果。如果窗口还没有被销毁,这个结果也可以通过<a href="#result">result</a>()得到。如果<a href="qt.html#WidgetFlags-enum">WDestructiveClose</a>标记被设置,那么当exec()返回时,对话框被删除。
<p> <a name="examples"></a>
<h3> 实例
</h3>
<a name="1-3"></a><p> 模式对话框。
<p> 

<pre>        <a href="qfiledialog.html">QFileDialog</a> *dlg = new <a href="qfiledialog.html">QFileDialog</a>( workingDirectory,
                <a href="qstring.html#QString-null">QString::null</a>, 0, 0, TRUE );
    <a name="x2100"></a>    dlg-&gt;<a href="qwidget.html#setCaption">setCaption</a>( QFileDialog::<a href="qobject.html#tr">tr</a>( "Open" ) );
    <a name="x2098"></a>    dlg-&gt;<a href="qfiledialog.html#setMode">setMode</a>( QFileDialog::ExistingFile );
        <a href="qstring.html">QString</a> result;
    <a name="x2096"></a>    if ( dlg-&gt;<a href="#exec">exec</a>() == QDialog::<a href="#DialogCode-enum">Accepted</a> ) {
    <a name="x2097"></a>        result = dlg-&gt;<a href="qfiledialog.html#selectedFile">selectedFile</a>();
    <a name="x2099"></a>        workingDirectory = dlg-&gt;<a href="qfiledialog.html#url">url</a>();
        }
        delete dlg;
        return result;
</pre>
<p> 非模式对话框。在<a href="#show">show</a>()调用之后,控制返回到主事件循环中。

<pre>    int main( int argc, char **argv )
    {
        <a href="qapplication.html">QApplication</a> a( argc, argv );
</pre><pre>        int scale = 10;
</pre><pre>        LifeDialog *life = new LifeDialog( scale );
    <a name="x2103"></a>    a.<a href="qapplication.html#setMainWidget">setMainWidget</a>( life );

⌨️ 快捷键说明

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