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

📄 qmessagebox.html

📁 QT参考文档
💻 HTML
📖 第 1 页 / 共 3 页
字号:
        "call technical support at 123456789 and report\n"+
        "these numbers:\n\n" + errorDetails +
        "\n\n<Application> will now exit." );
</pre>
 
<p> 在这个实例中,一个“OK”按钮被显示。
<p> QMessageBox提供了一个非常简单的关于框,可以显示你提供的适当的图标和文本。
<p> <pre>
QMessageBox::<a href="#about">about</a>( this, "About &lt;Application&gt;",
        "&lt;Application&gt; is a &lt;one-paragraph blurb&gt;\n\n"
        "Copyright 1951-2002 Such-and-such.  "
        "&lt;License words here.&gt;\n\n"
        "For technical support, call 123456789 or see\n"
        "http://www.such-and-such.com/Application/\n" );
</pre>
 
<p> 更多信息请参考<a href="#about">about</a>()。
<p> 如果你想让用户知道这个应用程序是使用Qt构建的(这样他们就会知道你使用的是高质量的工具):你也许喜欢在帮助菜单下的“关于Qt”菜单选项来调用<a href="#aboutQt">aboutQt</a>()。
<p> 如果没有任何标准消息框是合适地,你可以自己手工创建一个QMessageBox并且自己定义按钮文本:
<p> <pre>
QMessageBox mb( "Application name here",
        "Saving the file will overwrite the original file on the disk.\n"
        "Do you really want to save?",
        QMessageBox::<a href="#Icon-enum">Information</a>,
        QMessageBox::Yes | QMessageBox::Default,
        QMessageBox::No,
        QMessageBox::Cancel | QMessageBox::Escape );
mb.setButtonText( QMessageBox::Yes, "Save" );
mb.setButtonText( QMessageBox::No, "Discard" );
switch( mb.exec() ) {
    case QMessageBox::Yes:
        // 保存并且退出
        break;
    case QMessageBox::No:
        // 不保存退出
        break;
    case QMessageBox::Cancel:
        // 不保存并且不退出
        break;
}
</pre>
 
<p> QMessageBox定义了两个枚举变量:Icon和没有名称的按钮类型。Icon为每一个图形用户界面风格定义了<a href="#Icon-enum">Information</a>、<a href="#Icon-enum">Warning</a>和<a href="#Icon-enum">Critical</a>图标。它被构造函数和<a href="#information">information</a>()、<a href="#warning">warning</a>()和<a href="#critical">critical</a>()静态函数使用。叫做<a href="#standardIcon">standardIcon</a>()的函数让你能够访问不同的图标。
<p> 按钮类型有:
<ul>
<li> Ok - 单按钮消息框地默认值
<li> Cancel - 注意这个<em>不是</em>自动和Escape关联的
<li> Yes
<li> No
<li> Abort
<li> Retry
<li> Ignore
</ul>
<p> 按钮类型可以由上述类型和下面两个修饰成分使用或“|”来进行组合。
<ul>
<li> Default - 让按Enter键等于点击这个按钮。通常用于OK、Yes或者其它相似的。
<li> Escape - 让按Escape键等于点击这个按钮。通常用于Abort、Cancel或者其它相似的。
</ul>
<p> <a href="#text">text</a>()、<a href="#icon">icon</a>()和<a href="#iconPixmap">iconPixmap</a>()函数提供了对消息框的当前文本和像素映射的访问。
<p> <a href="#setButtonText">setButtonText</a>()和<a href="#buttonText">buttonText</a>()提供了对按钮的访问。<a href="#setText">setText</a>()、<a href="#setIcon">setIcon</a>()和<a href="#setIconPixmap">setIconPixmap</a>()让你能够修改它。setIcon()和setIconPixmap()的不同是前者接受QMessageBox::Icon并且用于设置标准图标,而后者接受<a href="qpixmap.html">QPixmap</a>并且用于设置自定义图标。
<p> QMessageBox没有信号和槽。
<p> <img src=qmsgbox-m.png> <img src=qmsgbox-w.png>
<p> <p>也可以参考<a href="qdialog.html">QDialog</a>、<a href="http://www.iarchitect.com/errormsg.htm
	">Isys on error messages</a>、<a href="guibooks.html#fowler">图形用户界面设计手册:消息框</a>和<a href="dialogs.html">对话框类</a>。

<hr><h2>成员类型文档</h2>
<h3 class=fn><a name="Icon-enum"></a>QMessageBox::Icon</h3>
<p> 这个枚举变量包含被提供的如下值:
<ul>
<li><tt>QMessageBox::NoIcon</tt> - 消息框没有任何图标。
<li><tt>QMessageBox::Information</tt> - 一个指出这个消息没有超出普通范围的图标。
<li><tt>QMessageBox::Warning</tt> - 一个指出这个消息是警告,但是还能被处理的图标。
<li><tt>QMessageBox::Critical</tt> - 一个指出这个消息意味着严重问题的图标。
</ul><p> 

<hr><h2>成员函数文档</h2>
<h3 class=fn><a name="QMessageBox"></a>QMessageBox::QMessageBox ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0 )
</h3>
构造一个没有文本和一个标签为“OK”的按钮的消息框。
<p> 如果<em>parent</em>为0,消息框变为应用程序全局的模式对话框。如果<em>parent</em>为一个窗口部件,消息框变为相对于<em>parent</em>的模式对话框。
<p> <em>parent</em>和<em>name</em>参数被传递给<a href="qdialog.html">QDialog</a>构造函数。

<h3 class=fn><a name="QMessageBox-2"></a>QMessageBox::QMessageBox ( const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;caption, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;text, <a href="qmessagebox.html#Icon-enum">Icon</a>&nbsp;icon, int&nbsp;button0, int&nbsp;button1, int&nbsp;button2, <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;parent = 0, const&nbsp;char&nbsp;*&nbsp;name = 0, bool&nbsp;modal = TRUE, WFlags&nbsp;f = WStyle_DialogBorder )
</h3>
构造一个标题为<em>caption</em>、文本为<em>text</em>、图标为<em>icon</em>并且最多为三个按钮的消息框。
<p> <em>icon</em>必须为如下之一:
<ul>
<li> QMessageBox::NoIcon
<li> QMessageBox::Information
<li> QMessageBox::Warning
<li> QMessageBox::Critical
</ul>
<p> 每一个按钮,<em>button0</em>、<em>button1</em>和<em>button2</em>为如下之一:
<ul>
<li> QMessageBox::NoButton
<li> QMessageBox::Ok
<li> QMessageBox::Cancel
<li> QMessageBox::Yes
<li> QMessageBox::No
<li> QMessageBox::Abort
<li> QMessageBox::Retry
<li> QMessageBox::Ignore
</ul>
<p> 如果你的消息框少于三个按钮,QMessageBox::NoButton用于靠后的参数。
<p> 一个按钮可以和<tt>QMessageBox::Default</tt>标记进行或运算,这使得它成为默认按钮(当Enter被按下时,它被点击)。
<p> 一个按钮可以和<tt>QMessageBox::Escape</tt>标记进行或运算,这使得它成为撤销或者关闭按钮(当Escape被按下时,它被点击)。
<p> 实例:
<pre>
QMessageBox mb( "Application Name",
        "Hardware failure.\n\nDisk error detected\nDo you want to stop?",
        QMessageBox::<a href="#Icon-enum">NoIcon</a>,
        QMessageBox::Yes | QMessageBox::Default,
        QMessageBox::No  | QMessageBox::Escape, 
        QMessageBox::<a href="qt.html#ButtonState-enum">NoButton</a> );
if ( mb.exec() == QMessageBox::No )
    // 再次尝试
</pre>
 
<p> 如果<em>parent</em>为0,消息框变为应用程序全局的模式对话框。如果<em>parent</em>为一个窗口部件,消息框变为相对于<em>parent</em>的模式对话框。
<p> 如果<em>modal</em>为真,这个消息框变为模式的,否则它变为非模式的。
<p> <em>parent</em>、<em>name</em>、<em>modal</em>和<em>f</em>参数被传递给<a href="qdialog.html">QDialog</a>构造函数。
<p> <p>也可以参考<a href="qwidget.html#caption-prop">caption</a>、<a href="#text-prop">text</a>和<a href="#icon-prop">icon</a>。

<h3 class=fn><a name="~QMessageBox"></a>QMessageBox::~QMessageBox ()
</h3>
销毁这个消息框。

<h3 class=fn>void <a name="about"></a>QMessageBox::about ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;parent, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;caption, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;text )<tt> [静态]</tt>
</h3>
显示一个标题为<em>caption</em>并且文本为<em>text</em>的简单关于框。关于框的父对象为<em>parent</em>。
<p> <a href="#about">about</a>()在四个位置查找合适的图标:
<ol type=1>
<li> 如果<a href="qwidget.html#icon">parent->icon()</a>存在,它会首先使用它。
<li> 如果没有,它会尝试一下包含<em>parent</em>的顶级窗口部件。
<li> 如果这个也失败了,它会尝试<a href="qapplication.html#mainWidget">主窗口部件</a>。
<li> 作为最后的手段,它使用信息图标。
</ol>
<p> 关于框有一个标签为OK的单一按钮。
<p> <p>也可以参考<a href="qwidget.html#icon-prop">QWidget::icon</a>和<a href="qapplication.html#mainWidget">QApplication::mainWidget</a>()。
<p>实例:<a href="qaction-application-example.html#x1074">action/application.cpp</a>、<a href="simple-application-example.html#x1519">application/application.cpp</a>、<a href="canvas-chart-example.html#x2603">chart/chartform.cpp</a>、<a href="helpviewer-example.html#x995">helpviewer/helpwindow.cpp</a>、<a href="mdi-example.html#x2019">mdi/application.cpp</a>、<a href="menu-example.html#x1865">menu/menu.cpp</a>和<a href="themes-example.html#x290">themes/themes.cpp</a>。

<h3 class=fn>void <a name="aboutQt"></a>QMessageBox::aboutQt ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;parent, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;caption = QString::null )<tt> [静态]</tt>
</h3>
显示标题为<em>caption</em>并且放在<em>parent</em>(如果<em>parent</em>不为0)的中间关于Qt的简单消息框。这个消息包含这个应用程序正在使用的Qt的版本号。
<p> 这个会被包含在帮助菜单中。关于实例请参考examples/menu/menu.cpp。
<p>实例:<a href="qaction-application-example.html#x1075">action/application.cpp</a>、<a href="simple-application-example.html#x1520">application/application.cpp</a>、<a href="canvas-chart-example.html#x2604">chart/chartform.cpp</a>、<a href="helpviewer-example.html#x996">helpviewer/helpwindow.cpp</a>、<a href="menu-example.html#x1866">menu/menu.cpp</a>、<a href="themes-example.html#x291">themes/themes.cpp</a>和<a href="trivial-nsplugin-example.html#x2570">trivial/trivial.cpp</a>。

<h3 class=fn>void <a name="adjustSize"></a>QMessageBox::adjustSize ()<tt> [虚]</tt>
</h3>
仅在<a href="qdialog.html#exec">QDialog::exec</a>()或<a href="qdialog.html#show">QDialog::show</a>()被调用之前调节消息框的大小来适合内容。
<p> 如果消息框在显示之前已经被明显地重新定义大小,这个函数就不会被调用。
<p>从<a href="qwidget.html#adjustSize">QWidget</a>中重新实现。

<h3 class=fn><a href="qstring.html">QString</a> <a name="buttonText"></a>QMessageBox::buttonText ( int&nbsp;button ) const
</h3>
返回消息框按钮<em>button</em>的文本,或者如果消息框没有包含这个按钮返回零。
<p> <p>也可以参考<a href="#setButtonText">setButtonText</a>()。

<h3 class=fn>int <a name="critical"></a>QMessageBox::critical ( <a href="qwidget.html">QWidget</a>&nbsp;*&nbsp;parent, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;caption, const&nbsp;<a href="qstring.html">QString</a>&nbsp;&amp;&nbsp;text, int&nbsp;button0, int&nbsp;button1, int&nbsp;button2 = 0 )<tt> [静态]</tt>
</h3>
打开一个标题为<em>caption</em>并且文本为<em>text</em>的严重消息框。这个对话框最多有三个按钮。每个按钮参数<em>button0</em>、<em>button1</em>和<em>button2</em>被设置为下列各值之一:
<p> <ul>
<li> QMessageBox::NoButton
<li> QMessageBox::Ok
<li> QMessageBox::Cancel
<li> QMessageBox::Yes
<li> QMessageBox::No
<li> QMessageBox::Abort
<li> QMessageBox::Retry
<li> QMessageBox::Ignore
</ul>
<p> 如果你不想要三个按钮,设置最后一个按钮或者最后两个按钮为QMessageBox::NoButton。
<p> 返回被点击的按钮地标识(QMessageBox::Ok或QMessageBox::No等等)。
<p> 如果<em>parent</em>为0,消息框变为应用程序全局的模式对话框。如果<em>parent</em>为一个窗口部件,消息框变为相对于<em>parent</em>的模式对话框。
<p> <p>也可以参考<a href="#information">information</a>()和<a href="#warning">warning</a>()。

⌨️ 快捷键说明

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