精华内容
下载资源
问答
  • QMessageBox对话框

    2019-10-07 18:07:17
    一.QMessageBox对话框 (有5中对话框形式)  1.QMessageBox.information  2.QMessageBox.question  3.QMessageBox.warning(警告)  4.QMessageBox.critical(严重警告)  5.QMessageBox.about  1....

    ---恢复内容开始---

    一.QMessageBox对话框  (有5中对话框形式)

      1.QMessageBox.information

      2.QMessageBox.question

      3.QMessageBox.warning(警告)

      4.QMessageBox.critical(严重警告)

      5.QMessageBox.about

     

      1.QMessageBox.information

      在输入代码之前得先导进QMessageBox库

      

      导入库之后再写代码

     

      

      运行结果为

     

      

     

     

      OK为默认的选项,我们也可以对这个选项进项设置,即添加多个按钮用 | 运算符连接,,如下:

      

      

      2.QMessageBox.question

      之前同样也要导入库函数。

      

      

      运行效果如下:

      

      

      

      5.QMessageBox.about

      

      运行效果

      

     

     

     

     

     

      

     

      

     

     

    ---恢复内容结束---

    转载于:https://www.cnblogs.com/Licc-blogs/p/10270147.html

    展开全文
  • QMessageBox的使用

    2019-09-29 09:28:58
    QMessageBox类提供了一个可以与用户交互(如提示信息、提问题让用户进行某种选择)的模态对话框,注意,是模态对话框!它提供了两个构造函数实现对消息框的初始化。 通过构造函数创建QMessageBox 1、QMessageBox...

    QMessageBox类提供了一个可以与用户交互(如提示信息、提问题让用户进行某种选择)的模态对话框,注意,是模态对话框!它提供了两个构造函数实现对消息框的初始化。

    通过构造函数创建QMessageBox

    1、QMessageBox(QWidget *parent = Q_NULLPTR) 

    参数为父窗体指针。使用此函数构造消息对话框后要结合其他成员函数,如setIcon(),setWindowText(), setText(),setStandardButtons(),setDefaultButton()等实现对其标题、图标、消息文本、按钮等元素的初始化;需要注意的是setIcon()设定的icon是系统自带的,其参数是枚举类型Icon,如NoIcon,Question,Information等,如用户想自己设定图标,应使用setIcon

    示例如下:(新建Qt widgets application,添加按钮,添加槽函数,在槽函数中实现)

            QMessageBox msg(this);
            msg.setIcon(QMessageBox::Warning);
            msg.setWindowTitle("warning");
            msg.setText("this is a test messagebox");
            msg.setStandardButtons(QMessageBox::Yes|QMessageBox::No);
            msg.setDefaultButton(QMessageBox::Yes);
            msg.exec();

    按下测试按钮,弹出消息框如下:

     ps:QMessageBox类提供了丰富的成员函数实现用户的各种需求,比如可以使用setInformativeText()可以添加提示信息,以帮助用户理解消息框中的内容,setDetailedText()可以添加细节显示按钮,给用户提供更多辅助信息。

    2、QMessageBox(Icon icon, const QString &title, const QString &text, StandardButtons buttons = NoButton, QWidget *parent = Q_NULLPTR, Qt::WindowFlags f = Qt::Dialog | Qt::MSWindowsFixedSizeDialogHint) 

    主要关注前三个参数即可,分别是:显示图标(不是对话框标题栏的图标),标题,消息文本。第四个参数为按钮设置,默认为无按钮,可以通过使用StandButton的组合实现,如QMessageBox::Ok|QMessageBox::Cancel,第五个参数为父窗口指针。

    示例如下:

            QMessageBox msg(QMessageBox::NoIcon,"message",slices[0] + "**" +slices[1]);
            msg.setIconPixmap(QPixmap(":/btnImg/image/default.png"));
            msg.setIconPixmap(QPixmap("plus-normal.png"));
            msg.exec();

     其中:/btnImg/image/default.png是我添加的资源文件中的一个文件的url。

    通过静态成员函数实现常用消息框

    除通过构造函数来实现QMessageBox之外,我们还可以通过QMessageBox的静态成员函数实现几种常用的对话框:如关于对话框,错误提示对话框,信息提示对话框,警告对话框等

    
    void about(QWidget *parent, const QString &title, const QString &text)
    void aboutQt(QWidget *parent, const QString &title = QString())
    StandardButton critical(QWidget *parent, const QString &title, const QString &text, StandardButtons buttons = Ok, StandardButton defaultButton = NoButton)
    StandardButton information(QWidget *parent, const QString &title, const QString &text, StandardButtons buttons = Ok, StandardButton defaultButton = NoButton)
    StandardButton question(QWidget *parent, const QString &title, const QString &text, StandardButtons buttons = StandardButtons( Yes | No ), StandardButton defaultButton = NoButton)
    StandardButton warning(QWidget *parent, const QString &title, const QString &text, StandardButtons buttons = Ok, StandardButton defaultButton = NoButton)
    

    exec()函数

    The exec() slot returns the StandardButtons value of the button that was clicked.

    通过此函数的返回值判断用户选择了何种操作。注意,在创建QMessageBox之后,消息框并不能显示。为了使其显示出来,我们使用的是exec()函数,而不是show(),因为这是一个模态对话框,需要有它自己的事件循环,否则的话,对话框将会一闪而过。

    展开全文
  • QMessageBox类参考

    千次阅读 2016-08-09 17:30:20
    QMessageBox类提供了一个有一条简短消息、一个图标和一些按钮的模式对话框。 详情请见…… #include qmessagebox.h> 继承了QDialog。 所有成员函数的列表。 公有成员 enum Icon { NoIcon = 0, ...

    QMessageBox类提供了一个有一条简短消息、一个图标和一些按钮的模式对话框。 详情请见……

    #include <qmessagebox.h>

    继承了QDialog

    所有成员函数的列表。

    公有成员

    • enum  Icon { NoIcon = 0, Information = 1, Warning = 2, Critical = 3 }
    • QMessageBox ( QWidget * parent = 0, const char * name = 0 )
    • 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 )
    • QString  text () const
    • void  setText ( const QString & )
    • Icon  icon () const
    • void  setIcon ( Icon )
    • const QPixmap *  iconPixmap () const
    • void  setIconPixmap ( const QPixmap & )
    • QString  buttonText ( int button ) const
    • void  setButtonText ( int button, const QString & text )
    • virtual void  adjustSize ()
    • TextFormat  textFormat () const
    • void  setTextFormat ( TextFormat )

    静态公有成员

    • int  information ( QWidget * parent, const QString & caption, const QString & text, int button0, int button1 = 0, int button2 = 0 )
    • int  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 )
    • int  warning ( QWidget * parent, const QString & caption, const QString & text, int button0, int button1, int button2 = 0 )
    • int  warning ( 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 )
    • int  critical ( QWidget * parent, const QString & caption, const QString & text, int button0, int button1, int button2 = 0 )
    • int  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 )
    • void  about ( QWidget * parent, const QString & caption, const QString & text )
    • void  aboutQt ( QWidget * parent, const QString & caption = QString::null )
    • int message ( const QString & caption, const QString & text, const QString & buttonText = QString::null, QWidget * parent = 0, const char * = 0 )   (obsolete)
    • bool query ( const QString & caption, const QString & text, const QString & yesButtonText = QString::null, const QString & noButtonText = QString::null, QWidget * parent = 0, const char * = 0 )   (obsolete)
    • QPixmap standardIcon ( Icon icon, GUIStyle style )   (obsolete)
    • QPixmap  standardIcon ( Icon icon )

    属性

    • Icon  icon - 消息框的图标
    • QPixmap  iconPixmap - 当前图标
    • QString  text - 被显示的消息框文本
    • TextFormat  textFormat - 消息框中被显示的文本的格式

    详细描述

    QMessageBox类提供了一个有一条简短消息、一个图标和一些按钮的模式对话框。

    消息框用于提供情报信息并且问一些简单的问题。

    QMessageBox提供了一个不同信息的范围,大致按两个轴进行排列:严重程度和复杂程度。

    按严重程度分:

    信息用于普通操作的一部分的消息框
    警告用于告诉用户一些不常出现的错误的消息框
    严重用于告诉用户严重的错误的消息框

    对于每一个严重程度,消息框都有不同的图标。

    按复杂程度分为一个按钮(确定)的简单消息、或者用于提问的两个或者甚至三个按钮。

    还有一些用于常用情况的静态函数。

    实例:

    如果程序不能找到一个支持文件,但是能在没有它的情况在做得很好:

    QMessageBox::information( this, "Application name",
        "Unable to find the user preferences file.\n"
        "The factory default will be used instead." );
    

    warning()可以用于告诉用户一些不常出现的错误,或者不容易被修复的错误:

    switch( QMessageBox::warning( this, "Application name",
            "Could not connect to the <mumble> server.\n"
            "This program can't function correctly "
            "without the server.\n\n",
            "Retry",
            "Quit", 0, 0, 1 ) )
        case 0: // 用户点击“再试”或者按下回车键
            // 再次尝试
            break;
        case 1: // 用户点击“退出”或者按下Esc键
            // 退出
            break;
    }
    

    所有消息框的消息的文本部分都可以是多信息文本或者一般文本。如果拟制定一个多信息文本格式字符串,它将会被使用默认样式单来呈现。详细情况请参考QStyleSheet::defaultSheet()。对于包含XML元字符的特定字符串,自动多信息文本检测可能会失败,会把一般文本不正确地解释为多信息文本。在这种情况下,可以使用QStyleSheet::convertFromPlainText()来把你的一般文本字符串转化为在视觉上一致的多信息文本或者明确地通过setTextFormat()设置文本格式。

    注意微软视窗用户界面指南强烈建议在把应用程序名称作为这个窗口的标题。

    下面是更多的关于如何使用静态成员函数地实例。在这些实例之后,你将会找到非静态成员函数的概述。

    退出程序是正常操作的一部分。如果存在没有保存地数据,用户可能应该被被询问他们是否想保存数据。例如:

    switch( QMessageBox::information( this, "Application name here",
            "The document contains unsaved changes\n"
            "Do you want to save the changes before exiting?",
            "&Save", "&Discard", "Cancel",
            0,      // Enter == button 0
            2 ) ) { // Escape == button 2
        case 0: // Save被点击或者Alt+S被按下或者Enter被按下。
            // 保存
            break;
        case 1: // Discard被点击或者Alt+D被按下。
            // 不保存但退出
            break;
        case 2: // Cancel被点击或者Alt+C被按下或者Escape被按下。
            // 不退出
            break;
    }
    

    为了和微软的建议一致,应用程序的名称被作为窗口标题。Escape按钮撤销整个退出操作,并且按下Enter导致在退出发生之前这些变化被保存。

    磁盘已满错误是不常见的(在完美的世界中,它们是存在的)并且它们通常很难变为正确。这个实例使用了预定义的按钮来替换了写在代码中的按钮文本:

    switch( QMessageBox::warning( this, "Application name here",
            "Could not save the user preferences,\n"
            "because the disk is full.  You can delete\n"
            "some files and press Retry, or you can\n"
            "abort the Save Preferences operation.",
            QMessageBox::Retry | QMessageBox::Default,
            QMessageBox::Abort | QMessageBox::Escape )) {
        case QMessageBox::Retry: // Retry被点击或者Enter被按下。
            // 再次尝试
            break;
        case QMessageBox::Abort: // Abort被点击或者Escape被按下。
            // 放弃
            break;
    }
    

    critical()函数应用被用于保留严重错误。在这个实例中,errorDetails是QString或者const char*,并且QString被用于连接几个字符串:

    QMessageBox::critical( 0, "Application name here",
            QString("An internal error occurred. Please ") +
            "call technical support at 123456789 and report\n"+
            "these numbers:\n\n" + errorDetails +
            "\n\n<Application> will now exit." );
    

    在这个实例中,一个“OK”按钮被显示。

    QMessageBox提供了一个非常简单的关于框,可以显示你提供的适当的图标和文本。

    QMessageBox::about( this, "About <Application>",
            "<Application> is a <one-paragraph blurb>\n\n"
            "Copyright 1951-2002 Such-and-such.  "
            "<License words here.>\n\n"
            "For technical support, call 123456789 or see\n"
            "http://www.such-and-such.com/Application/\n" );
    

    更多信息请参考about()。

    如果你想让用户知道这个应用程序是使用Qt构建的(这样他们就会知道你使用的是高质量的工具):你也许喜欢在帮助菜单下的“关于Qt”菜单选项来调用aboutQt()。

    如果没有任何标准消息框是合适地,你可以自己手工创建一个QMessageBox并且自己定义按钮文本:

    QMessageBox mb( "Application name here",
            "Saving the file will overwrite the original file on the disk.\n"
            "Do you really want to save?",
            QMessageBox::Information,
            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;
    }
    

    QMessageBox定义了两个枚举变量:Icon和没有名称的按钮类型。Icon为每一个图形用户界面风格定义了InformationWarningCritical图标。它被构造函数和information()、warning()和critical()静态函数使用。叫做standardIcon()的函数让你能够访问不同的图标。

    按钮类型有:

    • Ok - 单按钮消息框地默认值
    • Cancel - 注意这个不是自动和Escape关联的
    • 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没有信号和槽。

     

    也可以参考QDialogIsys on error messages图形用户界面设计手册:消息框对话框类


    成员类型文档

    QMessageBox::Icon

    这个枚举变量包含被提供的如下值:

    • QMessageBox::NoIcon - 消息框没有任何图标。
    • QMessageBox::Information - 一个指出这个消息没有超出普通范围的图标。
    • QMessageBox::Warning - 一个指出这个消息是警告,但是还能被处理的图标。
    • QMessageBox::Critical - 一个指出这个消息意味着严重问题的图标。


    成员函数文档

    QMessageBox::QMessageBox ( QWidget * parent = 0, const char * name = 0 )

    构造一个没有文本和一个标签为“OK”的按钮的消息框。

    如果parent为0,消息框变为应用程序全局的模式对话框。如果parent为一个窗口部件,消息框变为相对于parent的模式对话框。

    parentname参数被传递给QDialog构造函数。

    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

    每一个按钮,button0button1button2为如下之一:

    • QMessageBox::NoButton
    • QMessageBox::Ok
    • QMessageBox::Cancel
    • QMessageBox::Yes
    • QMessageBox::No
    • QMessageBox::Abort
    • QMessageBox::Retry
    • QMessageBox::Ignore

    如果你的消息框少于三个按钮,QMessageBox::NoButton用于靠后的参数。

    一个按钮可以和QMessageBox::Default标记进行或运算,这使得它成为默认按钮(当Enter被按下时,它被点击)。

    一个按钮可以和QMessageBox::Escape标记进行或运算,这使得它成为撤销或者关闭按钮(当Escape被按下时,它被点击)。

    实例:

    QMessageBox mb( "Application Name",
            "Hardware failure.\n\nDisk error detected\nDo you want to stop?",
            QMessageBox::NoIcon,
            QMessageBox::Yes | QMessageBox::Default,
            QMessageBox::No  | QMessageBox::Escape, 
            QMessageBox::NoButton );
    if ( mb.exec() == QMessageBox::No )
        // 再次尝试
    

    如果parent为0,消息框变为应用程序全局的模式对话框。如果parent为一个窗口部件,消息框变为相对于parent的模式对话框。

    如果modal为真,这个消息框变为模式的,否则它变为非模式的。

    parentnamemodalf参数被传递给QDialog构造函数。

    也可以参考captiontexticon

    QMessageBox::~QMessageBox ()

    销毁这个消息框。

    void QMessageBox::about ( QWidget * parent, const QString & caption, const QString & text ) [静态]

    显示一个标题为 caption 并且文本为 text 的简单关于框。关于框的父对象为 parent

    about()在四个位置查找合适的图标:

    1. 如果parent->icon()存在,它会首先使用它。
    2. 如果没有,它会尝试一下包含parent的顶级窗口部件。
    3. 如果这个也失败了,它会尝试主窗口部件
    4. 作为最后的手段,它使用信息图标。

    关于框有一个标签为OK的单一按钮。

    也可以参考QWidget::iconQApplication::mainWidget()。

    实例:action/application.cppapplication/application.cppchart/chartform.cpphelpviewer/helpwindow.cppmdi/application.cppmenu/menu.cppthemes/themes.cpp

    void QMessageBox::aboutQt ( QWidget * parent, const QString & caption = QString::null ) [静态]

    显示标题为 caption 并且放在 parent (如果 parent 不为0)的中间关于Qt的简单消息框。这个消息包含这个应用程序正在使用的Qt的版本号。

    这个会被包含在帮助菜单中。关于实例请参考examples/menu/menu.cpp。

    实例:action/application.cppapplication/application.cppchart/chartform.cpphelpviewer/helpwindow.cppmenu/menu.cppthemes/themes.cpptrivial/trivial.cpp

    void QMessageBox::adjustSize () [虚]

    仅在 QDialog::exec ()或 QDialog::show ()被调用之前调节消息框的大小来适合内容。

    如果消息框在显示之前已经被明显地重新定义大小,这个函数就不会被调用。

    QWidget中重新实现。

    QString QMessageBox::buttonText ( int button ) const

    返回消息框按钮 button 的文本,或者如果消息框没有包含这个按钮返回零。

    也可以参考setButtonText()。

    int QMessageBox::critical ( QWidget * parent, const QString & caption, const QString & text, int button0, int button1, int button2 = 0 ) [静态]

    打开一个标题为 caption 并且文本为 text 的严重消息框。这个对话框最多有三个按钮。每个按钮参数 button0 button1 button2 被设置为下列各值之一:

    • QMessageBox::NoButton
    • QMessageBox::Ok
    • QMessageBox::Cancel
    • QMessageBox::Yes
    • QMessageBox::No
    • QMessageBox::Abort
    • QMessageBox::Retry
    • QMessageBox::Ignore

    如果你不想要三个按钮,设置最后一个按钮或者最后两个按钮为QMessageBox::NoButton。

    返回被点击的按钮地标识(QMessageBox::Ok或QMessageBox::No等等)。

    如果parent为0,消息框变为应用程序全局的模式对话框。如果parent为一个窗口部件,消息框变为相对于parent的模式对话框。

    也可以参考information()和warning()。

    实例:network/ftpclient/ftpmainwindow.cppprocess/process.cppxml/outliner/outlinetree.cpp

    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等同于按下对应的按钮。

    如果parent为0,消息框变为应用程序全局的模式对话框。如果parent为一个窗口部件,消息框变为相对于parent的模式对话框。

    也可以参考information()和warning()。

    Icon QMessageBox::icon () const

    返回消息框的图标。详细情况请参考“icon”属性。

    const QPixmap * QMessageBox::iconPixmap () const

    返回当前图标。详细情况请参考“iconPixmap”属性。

    int QMessageBox::information ( QWidget * parent, const QString & caption, const QString & text, int button0, int button1 = 0, int button2 = 0 ) [静态]

    打开一个标题为 caption 并且文本为 text 的信息消息框。这个对话框最多有三个按钮。每个按钮参数 button0 button1 button2 被设置为下列各值之一:

    • QMessageBox::NoButton
    • QMessageBox::Ok
    • QMessageBox::Cancel
    • QMessageBox::Yes
    • QMessageBox::No
    • QMessageBox::Abort
    • QMessageBox::Retry
    • QMessageBox::Ignore

    如果你不想要三个按钮,设置最后一个按钮或者最后两个按钮为QMessageBox::NoButton。

    返回被点击的按钮地标识(QMessageBox::Ok或QMessageBox::No等等)。

    如果parent为0,消息框变为应用程序全局的模式对话框。如果parent为一个窗口部件,消息框变为相对于parent的模式对话框。

    也可以参考warning()和critical()。

    实例:action/application.cppapplication/application.cppchart/chartform.cppdirview/dirview.cppfileiconview/qfileiconview.cpppicture/picture.cppqwerty/qwerty.cpp

    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 ) [静态]

    这是一个重载成员函数,提供了方便。它的行为基本上和上面的函数相同。

    显示一个标题为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等同于按下对应的按钮。

    如果parent为0,消息框变为应用程序全局的模式对话框。如果parent为一个窗口部件,消息框变为相对于parent的模式对话框。

    也可以参考warning()和critical()。

    int QMessageBox::message ( const QString & caption, const QString & text, const QString & buttonText = QString::null, QWidget * parent = 0, const char * = 0 ) [静态]

    这个函数是废弃的。它的提供只是为了保证旧代码能够工作。我们强烈建议在新代码中不要使用它。

    使用特定参数直接打开模式消息框。

    请使用information()、warning()或critical()来替代。

    实例:grapher/grapher.cpp

    bool QMessageBox::query ( const QString & caption, const QString & text, const QString & yesButtonText = QString::null, const QString & noButtonText = QString::null, QWidget * parent = 0, const char * = 0 ) [静态]

    这个函数是废弃的。它的提供只是为了保证旧代码能够工作。我们强烈建议在新代码中不要使用它。

    使用有两个按钮的模式消息框询问用户。注意caption不总是被显示,它依赖于窗口管理器。

    请使用information()、warning()或critical()来替代。

    void QMessageBox::setButtonText ( int button, const QString & text )

    设置消息框按钮 button 的文本为 text 。设置一个没有在消息框中出现的按钮的文本会被默默地忽略。

    也可以参考buttonText()。

    void QMessageBox::setIcon ( Icon )

    设置消息框的图标。详细情况请参考“icon”属性。

    void QMessageBox::setIconPixmap ( const QPixmap & )

    设置当前图标。详细情况请参考“iconPixmap”属性。

    void QMessageBox::setText ( const QString & )

    设置被显示的消息框文本。详细情况请参考“text”属性。

    void QMessageBox::setTextFormat ( TextFormat )

    设置消息框中被显示的文本的格式。详细情况请参考“textFormat”属性。

    QPixmap QMessageBox::standardIcon ( Icon icon ) [静态]

    返回标准图标使用的像素映射。这允许这些像素映射用于更复杂的消息框。 icon 指定了所需图标,例如QMessageBox::Information、QMessageBox::Warning或QMessageBox::Critical。

    QPixmap QMessageBox::standardIcon ( Icon icon, GUIStyle style ) [静态]

    这个函数是废弃的。它的提供只是为了保证旧代码能够工作。我们强烈建议在新代码中不要使用它。

    返回标准图标使用的像素映射。这允许这些像素映射用于更复杂的消息框。icon指定了所需图标,例如QMessageBox::Information、QMessageBox::Warning或QMessageBox::Critical。

    style不被使用。

    QString QMessageBox::text () const

    返回被显示的消息框文本。详细情况请参考“text”属性。

    TextFormat QMessageBox::textFormat () const

    返回消息框中被显示的文本的格式。详细情况请参考“textFormat”属性。

    int QMessageBox::warning ( QWidget * parent, const QString & caption, const QString & text, int button0, int button1, int button2 = 0 ) [静态]

    打开一个标题为 caption 并且文本为 text 的警告消息框。这个对话框最多有三个按钮。每个按钮参数 button0 button1 button2 被设置为下列各值之一:

    • QMessageBox::NoButton
    • QMessageBox::Ok
    • QMessageBox::Cancel
    • QMessageBox::Yes
    • QMessageBox::No
    • QMessageBox::Abort
    • QMessageBox::Retry
    • QMessageBox::Ignore

    如果你不想要三个按钮,设置最后一个按钮或者最后两个按钮为QMessageBox::NoButton。

    返回被点击的按钮地标识(QMessageBox::Ok或QMessageBox::No等等)。

    如果parent为0,消息框变为应用程序全局的模式对话框。如果parent为一个窗口部件,消息框变为相对于parent的模式对话框。

    也可以参考information()和critical()。

    实例:chart/chartform.cppi18n/main.cppnetwork/mail/smtp.cppqwerty/qwerty.cppshowimg/showimg.cppsound/sound.cpp

    int QMessageBox::warning ( 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等同于按下对应的按钮。

    如果parent为0,消息框变为应用程序全局的模式对话框。如果parent为一个窗口部件,消息框变为相对于parent的模式对话框。

    也可以参考information()和critical()。


    属性文档

    Icon icon

    这个属性保存的是消息框的图标。

    消息框的图标可以是如下预定义图标的一种:

    • QMessageBox::NoIcon
    • QMessageBox::Information
    • QMessageBox::Warning
    • QMessageBox::Critical

    用于显示图标的实际像素映射依赖于当前图形用户界面风格。你也可以使用QMessageBox::iconPixmap属性来设置自定义像素映射。默认图标为QMessageBox::NoIcon。

    也可以参考iconPixmap

    通过setIcon()设置属性值并且通过icon()来获得属性值。

    QPixmap iconPixmap

    这个属性保存的是当前图标。

    这个图标正在被这个消息框使用。注意很难绘制一个在Motif和Windows风格中看起来比较一致的像素映射,你也许需要绘制两个像素映射。

    也可以参考icon

    通过setIconPixmap()设置属性值并且通过iconPixmap()来获得属性值。

    QString text

    This property holds the message box text to be displayed. 这个属性保存的是被显示的消息框文本。

    这个文本将被解释为一般文本或者多信息文本,根据文本格式设置(QMessageBox::textFormat)。默认设置为AutoText,也就是说消息框将会试图自动检测文本格式。

    这个属性的默认设置是QString::null

    也可以参考textFormat

    通过setText()设置属性值并且通过text()来获得属性值。

    TextFormat textFormat

    This property holds the format of the text displayed by the message box. 这个属性保存的是消息框中被显示的文本的格式。

    这是当前被消息框使用的文本格式。对于可能选项的解释请参考Qt::TextFormat枚举变量。

    默认设置是AutoText

    也可以参考text

    通过setTextFormat()设置属性值并且通过textFormat()来获得属性值。

    展开全文
  • QMessageBox 使用方法

    2015-02-20 07:13:00
    在Qt中经常需要弹出窗口,QMessageBox可以实现此功能,一共有三种窗口,information, question, 和 warning,critical, about分别对应感叹号,问号和叉号等等,使用方法很简单,一共有三个参数,第一个是父窗口句柄,...

     

    在Qt中经常需要弹出窗口,QMessageBox可以实现此功能,一共有三种窗口,information, question, 和 warning,critical, about分别对应感叹号,问号和叉号等等,使用方法很简单,一共有三个参数,第一个是父窗口句柄,剩下两个分别为窗口名称和显示内容,显示内容为QString类型。如下所示:

     

    QMessageBox::information(this, tr("Title"), tr("Content"));
    
    QMessageBox::question(this, tr("Title"), tr("Content"));
    
    QMessageBox::warning(this, tr("Title"), tr("Content"));
    
    QMessageBox::critical(this, tr("Title"), tr("Content"));
    
    QMessageBox::about(this, tr("Title"), tr("Content"));

     

    如果需要对话框下面有Ok, Yes, No 等按钮,需要添加后面两个参数,一个是出现哪两个按钮,一个是设置缺省按钮:

     

    QMessageBox::StandardButton r = QMessageBox::question(this, "Title", "Content", QMessageBox::Yes | QMessageBox::No, QMessageBox::No);
    if (r == QMessageBox::Yes) {
        // Do something here
    }

     

    转载于:https://www.cnblogs.com/grandyang/p/4296395.html

    展开全文
  • qt QMessageBox QInputDialog

    2016-11-14 14:22:00
    最近用到了QMessgaeBox和QInputDialog,QMessageBox用于提示,警告等消息,QInputDialog给用户弹出输入对话框。 参考链接 http://chenboqiang.blog.51cto.com/1068057/321900 ...
  • QT QMessageBox的使用

    万次阅读 2018-08-26 19:21:50
    今天在学习使用qt的时,想测试数据是否受到,按照...先来看一下最熟悉的QMessageBox::information。我们在以前的代码中这样使用过: QMessageBox::information(NULL, "Title", "Content", QM...
  • QT QMessageBox 头文件引用

    千次阅读 2020-07-12 15:22:08
    在QT5中,引用QApplication与 QMessageBox 头文件时,发现无法编译通过。 原因:QT5将其放在Widgets下 解决方案:在*.pro 文件中添加 QT += widgets
  • PyQT,QMessageBox 使用介绍

    千次阅读 2015-02-10 10:03:48
    QMessageBox是一个非常好用的通知交互界面,刚开始使用的时候,一些按键和关联操作,通过运行,可以看到如何操作默认按键,以及学习QmessageBox的各个应用场景!
  • Qt中QMessageBox的使用

    万次阅读 2017-10-31 14:23:52
    先来看一下最熟悉的QMessageBox::information。我们在以前的代码中这样使用过:   QMessageBox::information(NULL, "Title", "Content", QMessageBox::Yes | QMessageBox::No, QMessageBox::Yes); ...
  • Qt之QMessageBox详解

    千次阅读 2018-08-15 16:44:56
    ),这个参数可以使用或运算,例如我们希望有一个Yes和一个No的按钮,可以使用QMessageBox::Yes | QMessageBox::No,所有的按钮类型可以在QMessageBox声明的StandarButton枚举中找到; 参数五 defaultButton 就是...
  • QT对话框之QMessageBox

    千次阅读 2018-03-26 21:18:41
    QT提供了五个标准对话框接口,分别是critical、information、warning、question... StandardButton 的意思是可以给,critical,information,question ,warning添加想要的类型的ButtonCritical: QMessageBox::Sta...
  • PyQt5笔记之通用对话框QMessageBox

    千次阅读 2018-02-03 17:44:14
    PyQt5中为我们提供了很多默认...QMessageBox对话框包含类型只是图标不同其他无太大差别: QMessageBox.information 信息框 QMessageBox.question 问答框 QMessageBox.warning 警告 QMessageBox.ctitical危险 QMe...
  • QMessageBox的常用方法用总结

    千次阅读 2016-11-26 22:28:01
    普通用法QMessageBox是在编程中非常常用的一个类,特别是我们需要要几个小小的提示而又不需要太多的逻辑的对话框。这时,最简单的用法就是直接使用QMessageBox的静态方法生成对话框,对于一般只需要简单提示的情况下...
  • PyQt5之QMessageBox弹出式对话框

    千次阅读 2020-06-26 11:57:10
    PyQt5之QMessageBox弹出式对话框 QMessageBox是一种通用的弹出式对话框,用于显示消息,允许用户通过单击不同的标准按钮对消息进行反馈。每个标准按钮都有一个预定义的文本、角色和十六进制数。QMessageBox类提供了...
  • 解决问题:QMessageBox show details... &amp; hide details... 无法用linguist qm语言转换成中文的问题。 参考1:https://www.qtcentre.org/threads/40409-QMessageBox-Details-button-label 解决问题:...
  • 简言:QmessageBox是Qt中常用的提示框。类似mfc中的AfxmessageBox以及MessageBox。它是个模态的对话框。提示用户一些信息。并可以根据这些信息进行下一步的操作。一下是其的简单应用: .h #ifndef MAINWINDOW_...
  • Qt中QMessageBox中的几种常见用法归纳

    千次阅读 2018-11-04 14:21:30
    Qt中QMessageBox中的几种常见用法归纳 最简单的弹出一个提示框 QMessageBox::question(this,"Title","Content"); QMessageBox::warning(this,"Title","Content&...
  • Qt之自定义提示框(类似QMessageBox

    千次阅读 2017-07-04 14:44:09
    (2013-06-07 17:38:05) 转载▼ 标签:  qt   自定义提示框   ...qmessagebox ...qt自定义qmessagebox ...QMessageBox是被大多数人用到的,用起来是很方便,但是控件类型、大小
  • QMessageBox类提供了一个模态对话框,用于通知用户或询问用户问题并接收答案
  • QMessageBox.information(self, '框名', '内容', 按钮s, 默认按钮) # 问答框 QMessageBox.question(self, '框名', '内容', 按钮s, 默认按钮) # 警告框 QMessageBox.warning(self, '框名', '内容', 按钮s, 默认按钮)...
  • python 线程中使用 Qmessagebox时 ,...另辟蹊径:使用import win32api, win32con这个弹窗 可以有效实现阻塞子进程,并且等待用户操作完毕,避免程序崩溃。 choise = win32api.MessageBox(0, "扫描结果是否正确?",
  • QT3.2版本的QMessageBox有这样一个bug,就是当你传的参数足够长以至于你的屏幕不能显示的时候就会将字符串截断,剩下的字符串就无法显示了,如果本身的字符串长度已知,那就很好办了,在字符串中间加换行符呗,但是...
  • 1、创建一个资源文件 2、将图片放到当前路径下 3、将图片添加到资源文件下 法一在1,2,3的基础上: 利用ui->空间名字->setIcon(QIcon(“路径...QMessageBox.critical ( QWidget *parent, //父亲 con
  • BUG描述: QT3.2版本的QMessageBox有这样一个bug,就是当你传的参数足够长以至于你的屏幕不能显示的时候就会将字符串截断,剩下的字符串就无法显 示了,如果本身的字符串长度已知,那就很好办了,在字符串中间加换行...
  • ”,QMessageBox.Yes | QMessageBox.No) #消息:关于 QMessageBox.about(self,“消息框标题”,“这是关于对话框的说明”,QMessageBox.Yes | QMessageBox.No) import sys from PyQt5.QtCore import * from PyQt5.QtGui...
  • Qt之QMessageBox

    2021-06-09 06:05:30
    QMessageBox::information ( NULL, "Title", "Content", QMessageBox::Yes | QMessageBox::No, QMessageBox::Yes );   函数原型如下: static StandardButton QMessageBox::information ( QWidget *parent, ...
  • 实现动态翻译之后发现,翻译了软件中自己编写的部分,而qt系统提供的QMessageBox的OK按键并没有被翻译。同样QDialog中的QDialogButtonBox 所对应的文字也没有被翻译。原因是自己的软件并没有加载对应于Qt系统UI的...
  • 1、先创建一个共享的项目sharedlibrary。 sharedlibrary.pro:  #-------------------------------------------------  #  # Project created by QtCreator shazhenyu  #  #-------------------------...
  • QT 静态和动态的使用方法

    千次阅读 2019-04-28 16:29:46
    QT 静态和动态的使用方法 背景知识:程序在编译成可执行文件时,会有四步过程: 1预处理(头文件和宏定义) g++ -E 1.cpp -o 1.i 2编译 将c代码编译成汇编代码 g++ -S 1.cpp -o 1.s 3汇编 将汇编代码编译成二...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,687
精华内容 1,074
关键字:

qmessagebox库