QMessageBox类
#include <qmessagebox.h>
QMessageBox类提供了一个有一条简短消息、一个图标和一些按钮的模式对话框。
继承了QDialog。
1、详细描述
QMessageBox提供了一个不同信息的范围,大致按两个轴进行排列:严重程度和复杂程度。
按严重程度分:
对于每一种严重程度,消息框都有不同的图标。按复杂程度分为一个按钮(确定)的简单消息、或者用于提问的两个或者甚至三个按钮。还有一些用于常用情况的静态函数。
按钮类型有:
Ok 、Cancel、Yes、No、Abort、Retry、Ignore
按钮类型可以由上述类型和下面两个修饰成分使用或“|”来进行组合。
Default - 让按Enter键等于点击这个按钮。通常用于OK、Yes或者其它相似的。
Escape - 让按Escape键等于点击这个按钮。通常用于Abort、Cancel或者其它相似的。
text()、icon()和iconPixmap()函数提供了对消息框的当前文本和像素映射的访问。
setButtonText()和buttonText()提供了对按钮的访问。setText()、setIcon()和setIconPixmap()让你能够修改它。setIcon()和setIconPixmap()的不同是前者接受QMessageBox::Icon并且用于设置标准图标,而后者接受QPixmap并且用于设置自定义图标。
QMessageBox没有信号和槽。
2、成员函数文档
QMessageBox::QMessageBox ( QWidget * parent = 0, const char * name = 0 )
构造一个没有文本和一个标签为“OK”的按钮的消息框。
如果parent为0,消息框变为应用程序全局的模式对话框。如果parent为一个窗口部件,消息框变为相对于parent的模式对话框。
QMessageBox::QMessageBox ( const QString & caption, const QString & text, Icon icon, int button0, int button1, int button2, QWidget * parent = 0, const char * name =
0, bool modal = TRUE, WFlags f = WStyle_DialogBorder )
构造一个标题为caption、文本为text、图标为icon并且最多为三个按钮的消息框。
icon必须为如下之一:
QMessageBox::NoIcon
QMessageBox::Information
QMessageBox::Warning
QMessageBox::Critical
每一个按钮,button0、button1和button2为如下之一:
QMessageBox::NoButton
QMessageBox::Ok
QMessageBox::Cancel
QMessageBox::Yes
QMessageBox::No
QMessageBox::Abort
QMessageBox::Retry
QMessageBox::Ignore
如果你的消息框少于三个按钮,QMessageBox::NoButton用于靠后的参数。
一个按钮可以和QMessageBox::Default标记进行或运算,这使得它成为默认按钮(当Enter被按下时,它被点击)。
一个按钮可以和QMessageBox::Escape标记进行或运算,这使得它成为撤销或者关闭按钮(当Escape被按下时,它被点击)。
如果modal为真,这个消息框变为模式的,否则它变为非模式的。
QMessageBox::~QMessageBox ()
销毁这个消息框。
void QMessageBox::about ( QWidget * parent, const QString & caption, const QString & text ) [静态]
显示一个标题为caption并且文本为text的简单关于框。关于框的父对象为parent。
about()在四个位置查合适的图标:
如果parent->icon()存在,它会首先使用它。如果没有,它会尝试一下包含parent的顶级窗口部件。如果这个也失败了,它会尝试主窗口部件。作为最后的手段,它使用信息图标。
关于框有一个标签为OK的单一按钮。
例子:
QMessageBox::about(this,"About",tr("About Me"));
ui->xianshilabel->setText(tr("About QMessageBox"));
void QMessageBox::aboutQt ( QWidget * parent, const QString & caption = QString::null ) [静态]
显示标题为caption并且放在parent(如果parent不为0)的中间关于Qt的简单消息框。这个消息包含这个应用程序正在使用的Qt的版本号。
例子:
QMessageBox::aboutQt(this,"About QT");
ui->xianshilabel->setText(tr("About QT QMessageBox"));
void QMessageBox::adjustSize () [虚]
仅在QDialog::exec()或QDialog::show()被调用之前调节消息框的大小来适合内容。
如果消息框在显示之前已经被明显地重新定义大小,这个函数就不会被调用。
QString QMessageBox::buttonText ( int button ) const
返回消息框按钮button的文本,或者如果消息框没有包含这个按钮返回零。
int QMessageBox::critical ( QWidget * parent, const QString & caption, const QString & text, int button0, int button1, int button2 = 0 ) [静态]
打开一个标题为caption并且文本为text的严重消息框。这个对话框最多有三个按钮。
如果你不想要三个按钮,设置最后一个按钮或者最后两个按钮为QMessageBox::NoButton。
返回被点击的按钮地标识(QMessageBox::Ok或QMessageBox::No等等)。
如果parent为0,消息框变为应用程序全局的模式对话框。如果parent为一个窗口部件,消息框变为相对于parent的模式对话框。
例子:
QMessageBox::critical(this,"Critical",tr("This Process is not right!\nPlease try again!"));
ui->xianshilabel->setText(tr("Critical QMessageBox"));
int QMessageBox::critical ( QWidget * parent, const QString & caption, const QString & text, const QString & button0Text = QString::null, const QString & button1Text = QString::null, const QString & button2Text = QString::null, int defaultButtonNumber = 0, int escapeButtonNumber = -1 ) [静态]
这是一个重载成员函数,显示一个标题为caption、文本为text并且按钮分别为1、2、3的严重消息对话框。返回被点击的按钮的数字(0、1或2)。
button0Text为第一个按钮的文本并且它是可选的。如果button0Text没有被提供,“OK”将被使用。button1Text为第二个按钮的文本并且它是可选的并且button2Text为第三个按钮的文本并且它是可选的。defaultButtonNumber(0、1或2)是默认按钮的索引,按下Return或者Enter和点击这个默认按钮是相同的。它默认为0(第一个按钮)。escapeButtonNumber是Escape按钮的索引,按下Escape和点击这个按钮是相同的。它默认为-1(就是按下Escape什么也不做),提供0、1或2使按下Escape等同于按下对应的按钮。
Icon QMessageBox::icon () const
返回消息框的图标。
const QPixmap * QMessageBox::iconPixmap () const
返回当前图标。
int QMessageBox::information ( QWidget * parent, const QString & caption, const QString & text, int button0, int button1 = 0, int button2 = 0 ) [静态borderbox]
打开一个标题为caption并且文本为text的信息消息框。这个对话框最多有三个按钮。
如果你不想要三个按钮,设置最后一个按钮或者最后两个按钮为QMessageBox::NoButton。
返回被点击的按钮地标识(QMessageBox::Ok或QMessageBox::No等等)。
例子:QMessageBox::information(this,"Information",tr("Information is right!"));
ui->xianshilabel->setText(tr("Information QMessageBox"));
int QMessageBox::information ( QWidget * parent, const QString & caption, const QString & text, const QString & button0Text = QString::null, const QString & button1Text = QString::null, const QString & button2Text = QString::null, int defaultButtonNumber = 0, int escapeButtonNumber = -1 ) [静态]
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论