QT QMessageBox关闭问题

QT 在某一窗口中弹出 QMessageBox窗口作为提示信息,但是当关闭 QMessageBox窗口是,当前窗口也会关闭,求解?

2个回答

if(QMessageBox::Yes == QMessageBox::warning(this, "Warning", "XXXXXXXXXXXXXXXXXXXXXXXXXXX",
QMessageBox::Yes, QMessageBox::Cancel))
{
//这里做点击消息框确定按钮后的事儿
}

是不是对话框也处理了响应事件,导致父对话框也关闭了

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
【QT】QT的QMessageBox的使用
因为 有的时候调试需要知道 是否成功 使用QMessageBox是一个不错的选择,再有做出很多操作需要让操作者知道是否成功用这个控件也是不错的接下来是如何使用首先添加头文件#include <QMessageBox>这个 QMessageBox中存在Question,Information,Warning,Critical这4种的用法都一样,只是显示的时候图标不一样;以 warning 为例: i
QMessageBox标题栏关闭不可用问题
继承QMessageBox的类的提示框,怎么控制标题栏关闭按钮是否可用???? n现在是不可用,我想设置成可用
Qt标准对话框之QMessageBox
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://devbean.blog.51cto.com/448512/217694 好久没有更新博客,主要是公司里面还在验收一些东西,所以没有及时更新。而且也在写一个基于Qt的画图程序,基本上类似于PS的东西,主要用到的是Qt Graphics View Framewo
Qt之自定义界面(QMessageBox)
简述 通过前几节的自定义窗体的学习,我们可以很容易的写出一套属于自己风格的界面框架,通用于各种窗体,比如:QWidget、QDialog、QMainWindow。 大多数窗体的实现都是采用控件堆积来完成的,只要思路清晰,再复杂的界面实现起来都游刃有余。下面我来列举一个由QMessageBox扩展的提示框-根据其源码实现思路来实现! ...
QT——简易登陆界面(QMessageBox)
1.简易UI制作 整个UI界面由2个Lable,2个LineEdit以及2个PushButton组成,UI界面如图所示。 2.mainwidow.cpp代码如下 #include "mainwindow.h" #include "ui_mainwindow.h" #include <QMessageBox> MainWindow::MainWindow(QWidget *...
QT 标准对话框-QMessageBox
在这里记录一下自己在开发中做交互时,经常会遇到的一个简单的交互方法,qt自身提供的标准对话框,其主要功能,可以提供给用户一条简短消息、图标和一些按钮的模态对话框。 在使用过程中我们将默认的标准对话框大致可以将其按照严重程度分为以下几类: Qt 中提供了五种类型的接口、用于显示此类窗口,具体样式如下: 1、QMessageBox::criti
Qt之 自定义QMessageBox(提示框)
头文件的编写: #pragma once #include "qdialog.h" #include #include #include class MsgBox :     public QDialog {     Q_OBJECT public:     MsgBox(int style,QString text);     ~MsgBox(void); p
QT QMessageBox添加中文按钮
QMessageBox box(QMessageBox::Question,QString::fromLocal8Bit("提示"),QString::fromLocal8Bit("是否确定退出?")); QPushButton *okButton = (box.addButton(QString::fromLocal8Bit("确定"),QMessageBox::AcceptRole));
Qt QMessageBox 之模态非模态
Qt 的消息框用起来比新建对话框方便一些。有两种调用方法,静态的和动态的。 一、静态调用例子:QMessageBox::warning( QWidget *parent, const QString& title, const QString& text, StandardButtons buttons=Ok,
Qt QMessageBox::information 提示信息重叠
[img=C:\Users\Hudajiang\Desktop\截图1286530532.png][/img]显示出来的提示信息全部重叠在一起了,请问这是什么原因造成的,怎样解决?代码如: QMessageBox::information(this,tr("文件"),rn QString(tr("文件来自:尽快恢复软件开发环境开发\n是否接收?")),QMessageBox::Yes | QMessageBox::No);
Qt Android 继承QMessageBox诡异问题
[code=c]rn#ifndef MAINWINDOW_Hrn#define MAINWINDOW_Hrnrn#include rnrnnamespace Ui rnclass MainWindow;rnrnrnclass MainWindow : public QMessageBoxrnrn Q_OBJECTrnrnpublic:rn explicit MainWindow(QWidget *parent = 0);rn ~MainWindow();rnrnprivate:rn Ui::MainWindow *ui;rn;rnrn#endif // MAINWINDOW_Hrn[/code]rn[code=c]rn#includern#includern#includernrnMainWindow::MainWindow(QWidget *parent) :rn QMessageBox(parent)rn // ui(new Ui::MainWindow)rnrn // ui->setupUi(this);rn QPushButton* m_pBtnOk = new QPushButton( tr( "是" ) );rn QPushButton* m_pBtnCancel = new QPushButton( tr( "否" ) );rn QHBoxLayout* pHLayout = new QHBoxLayout();rn pHLayout->addWidget( m_pBtnOk );rn pHLayout->addWidget( m_pBtnCancel );rnrn QLabel*m_pLblText = new QLabel;rnrn QLayout* pLayout = layout();rn if( pLayout )rn delete pLayout;rn QVBoxLayout* pMainLayout = new QVBoxLayout( this );rn pMainLayout->addWidget( m_pLblText,0, Qt::AlignHCenter );rn pMainLayout->addLayout( pHLayout );rnrn setLayout( pMainLayout );rnrnrnrnMainWindow::~MainWindow()rnrn // delete ui;rnrn[/code]rn上面的代码 输出调试提示这个:rnW/ResourceType(10229): Attempt to retrieve bag 0x010302ff which is invalid or in a cycle.rnW/ResourceType(10229): Attempt to retrieve bag 0x010302e4 which is invalid or in a cycle.rn然后界面就是白白的一片在上面有一道黑线rn但是MainWindow改成继承自QDialog,可以正常运行了rn求教啊
qt在槽函数中调用QMessageBox的问题
qt在槽函数中调用QMessageBox后,终端一直出现如下警告,请问是怎么回事呢?rnQWSLock::up(): Invalid argumentrnQWSLock::down(): Invalid argumentrnQWSLock::up(): Invalid argumentrnQWSLock::down(): Invalid argumentrnQWSLock::down(): Invalid argumentrn……rn……rn就这样一直出现,我的是嵌入式linux,在桌面版则不会出现这种情况。rn我查了下网上说出现这种情况多半是qtapp调用另外的进程,但是我在调用系统进程进行校时的时候也没有出现这个问题啊,却在QMessageBox这里出现了,有哪位大侠了解这种情况吗?如何避免出现这种情况呢?麻烦指点一下,多谢。。。
QMessageBox问题
在QMessageBox提示框出现的时候,整个界面就无法操作,问:如何在QMessageBox提示框出现时,还能对界面进行操作,不关闭提示框的话
QmessageBox
QmessageBox的详细用法,对QmessageBox都用例子做了详细的介绍。
[转载]Qt之中文显示(QMessageBox、QLineEdit右键菜单等)
原文地址:Qt之中文显示(QMessageBox、QLineEdit右键菜单等)作者:一去丶二三里    在编写Qt程序的时候,总会碰到中文问题,一直都很困惑,原本在使用QLineEdit的时候总会出现右键英文的情况,开始的时候是将邮件功能屏蔽掉。使用setContextMenuPolicy(Qt::NoContextMenu)来设置无右键菜单,但是后来发现这虽然省事,但是...
QMessageBox 字体问题
想做一个QMessageBox,字大小显示不同,怎么弄
自学QT之实现QMessageBox的按钮中文显示
QT的信息框弹出来以后,往往按钮都是英文的,而这个体验不是很好。我们需要实现的状态如图: 那么如何实现呢? 看到网上说用setbuttontext()方法,这个是不可行的,因为官方文档有这么一句话: Sets the text of the message box button button to text. Setting the text of a button that is
Qt标准对话框之消息对话框(QMessageBox)
public slots: void question(); void information(); void warning(); void critical(); void about();构造函数MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent) { resize(6
QT QMessageBox 按钮文字更改为中文
前提条件:QT工程支持中文显示(非显示乱码)方式一:重写窗口内容//提示窗口void MyMessageBox(QString title, QString message){ QMessageBox mymessage(QMessageBox::Warning, title, message); mymessage.setStandardButtons(QMessageBox::Ok); mym...
求教:Qt多线程中如何显示QMessageBox?
现在的项目中为了保证界面的实时响应,将任务在新线程中执行,但是执行的过程中经常需要显示一些QMessageBox对话框和用户进行交互,经常报告ASSERT failure in QWidget: "Widgets must be created in the GUI thread.", file kernel/qwidget.cpp, line 1299,求教我该如何去显示这些QMessageBox对话框?rn 我有两个对话框,主对话框和测试对话框。项目启动时将打开主对话框,点击主对话框中的按钮将打开测试对话框(模式对话框),点击测试对话框中的按钮将新建一个测试线程去运行测试程序,我在测试线程中需要弹出message对话框的地方向测试对话框去发送一个消息,测试对话框收到消息后将显示这个对话框,然后根据用户的选择,将选择的结果发回给测试线程,我发现测试对话框类能准确收到该消息,但是一到要显示QMessageBox的地方就报告ASSERT failure in QWidget: "Widgets must be created in the GUI thread.", file kernel/qwidget.cpp, line 1299。rn 希望大侠指教一下,问题出在哪里?我该如何去显示这个QMessagBox对话框?rnrn 另外,我查了写资料,很多都说窗口widget应该在GUI线程中显示,这个GUI线程指程序的主线程,难道我应该向主窗口发信息,在主对话框中弹出message对话框?那我不是需要在主对话框中很早就new一个测试线程,而测试线程需要的参数只有测试对话框运行后才能确定,参数得如何传递,真要这样,Qt的多线程是不是很不合理?线程应该向打开他的父线程发送消息才对,怎么会向其父线程的父窗口去发送消息??!!
QT Creator fork()进程怎么弹出QMessageBox??
[code=C/C++]rn//我想做一个超时功能,rn//首先我定义了一个全局变量rnvolatile int sec = 0;rnrnrn//然后在开始按钮的click()事件上写上rnif (fork() == 0)rnrn for(sec = 0; sec < 60; sec++) //其他事件里有可能会改变sec的值 rn rn sleep(1);rn rn QMessageBox::information(NULL,"warning","time out!");rnrn //运行后,到了QMessageBox,QT自己退出了,没有弹出messagebox,请问如何弹出messageboxrn //QT Creator的output窗口出如下信息rn /********* 错误信息 ***********rnrnStarting /home/ciya/socket/qt_server/qt_server...rnX Error: BadIDChoice (invalid resource ID chosen for this connection) 14rnMajor opcode: 53 (X_CreatePixmap)rnResource id: 0x3a00056rnX Error: BadIDChoice (invalid resource ID chosen for this connection) 14rnExtension: 151 (RENDER)rnMinor opcode: 4 (RenderCreatePicture)rnResource id: 0x3a00057rnX Error: BadIDChoice (invalid resource ID chosen for this connection) 14rnMajor opcode: 53 (X_CreatePixmap)rnResource id: 0x3a00059rnX Error: BadIDChoice (invalid resource ID chosen for this connection) 14rnExtension: 151 (RENDER)rnMinor opcode: 4 (RenderCreatePicture)rnResource id: 0x3a0005arnX Error: BadIDChoice (invalid resource ID chosen for this connection) 14rnExtension: 151 (RENDER)rnMinor opcode: 4 (RenderCreatePicture)rnResource id: 0x3a0005drnqt_server: ../../src/xcb_io.c:182: process_responses: 断言 `((int) (((dpy->last_request_read)) - ((dpy->request))) <= 0)' 失败.rnThe program has unexpectedly finished.rn **************************************************************************/rn rnrnrn[/code]
Qt弹出对话框"QMessageBox"的按钮显示改为中文
Qt弹出对话框&amp;quot;QMessageBox&amp;quot;的按钮显示改为中文   QMessageBox是Qt框架下专门用于弹出对话框的类,一般会提供几个按钮供用户点击选择。该对话框的按钮在默认情况下为英文显示 // 创建一个question弹出对话框,添加两个按钮:Yes和No QMessageBox *msgBox = new QMessageBox(QMessageBox::Question, tr(&amp;quot;对话框...
Qt学习之十:标准对话框之QMessageBox
所谓标准对话框,是Qt内置的一系列对话框,用于简化开发。 事实上,有很多对话框都是通 用的,比如打开文件、设置颜色、打印设置等。这些对话框在所有程序中几乎相同,因此没有必 要在每一个程序中都自己实现这么一个对话框。Qt 的内置对话框大致分为以下几类:* QColorDialog:选择颜色; * QFileDialog:选择文件或者目录; * QFontDialog:选择字体; * QIn
Qt学习: QFileDialog和QMessageBox的用法和程序示例
*QMessageBox的用法: members: 1.void setStandardButtons(QMessageBox::); //设置按钮. 2.void setText(QString); //设置内容. 3.void setInformativeText(QString); //设置重要内容.位于对话
QT QMessageBox::warning显示中文字符串变量
试了网上好多方法,最后没有一个成功的。。。。最后还是被我弄出来了。char str[255];string name = &quot;是否要删除用户:&quot; +ui-&amp;gt;name-&amp;gt;text().toStdString()+ &quot;所有信息?&quot;;  //这里ui-&amp;gt;name-&amp;gt;text().toStdString()是将name控件上的QString内容转换成std::string格式strc...
qt 窗口 关闭问题
大家好,我刚开始学习在qtopia下编写应用程序,遇到一个很奇怪的问题。用designer设计的界面,然后放一个按钮(没用),就没别的了,保存为.ui文件,由ui文件转换出一个.h和一个.cpp文件,再写一个main函数,代码如下rnint main(int argc,char *argv[])rnrn QApplication app(argc,argv);rn kongzhi kz;rn app.setMainWidget(&kz);rn kz.show();rn return app.exec();rnrn生成Makefile,编译后,下到开发板上运行,出现的情况是界面能运行,但是关闭后自己又重新打开了,也就是说关不了。rn把main函数的app.setMainWidget(&kz);这条语句隐去后,能关闭,但是关闭不正常,关闭后在任务栏还有刚才运行程序的图标(我编的那个),过一段时间会提示thread is not responding.Would you like to force the application to exit?rnrn小弟刚入门,请高手指点一下啊,先行谢过了。。。rn
qt的,程序关闭的问题
我有个qt程序,这样写的:rnint main(int argc,char *argv[])rnrn FtpCon *f = NULL;rn while(1)rn QCoreApplication a(argc, argv);rnrn f = new FtpCon();rn f->ftpConnect(); rn //rn return a.exec();rn sleep(180);rn rnrnrn我的要求是这样的,我要执行ftpConnect(),然后停留180秒后,在一次执行ftpConnect(),也就是循环。。rnrn现在的问题是,程序不会退出,到了a.exec();按照qt的说法,它会一直循环的,所以就到不了sleep那里。rnrn我也就无法循环的执行,我要的结果。rnrn请大侠帮我解决下,rnrn怎么样才能让a.exec后,接着执行sleep,一直while下去。。rn
QMessageBox::warning 焦点问题
QMessageBox::warning(this, "Practice",rn"Do you want to save your changes?",rnQMessageBox::Yes | QMessageBox::No | QMessageBox::Cancel);rnrn这个窗口第一次出现的时候有焦点 我第 Cancel 然后我再搞出这个窗口出来 它就没有焦点了. 得怎么搞才能让这个窗口出现总是有焦点?
关于QMessageBox中文乱码的问题
今天在写程序的时候,遇到了QMessageBox,希望它能在按关闭按钮后用中文显示出是,否的选项,以防误操作而导致软件关闭,但是在操作过程中发现,QMessageBox在有中文的情况下一直是乱码,对此在网上找到了个好的解决方案,即是用的QString::fromUtf8()函数实现功能,达到了预期的效果。 贴上代码QMessageBox message_cd(QMessageBox::NoIco
QMessageBox的自动关闭问题
QMessageBox能通过信号与槽的连接自动关闭么?如果能的话,麻烦把代码贴出来,谢谢哈。如果不能的话,那我就想问一下,QMessageBox能给提示框的按钮添加信号与槽的机制么、?怎么添加。如果解决了,分全给你。谢谢各位了。
自定义的QMessageBox
自定义界面,重新实现了QMessageBox的information与question的静态方法
QMessageBox 使用方法
QMessageBox普通用法 与 高级用法
自定义QMessageBox
完整代码:实现了QMessageBox的功能,并可以自定义背景,图标等功能,网上没有找到完整的代码,只有自己实现了,参考了一个大牛一去丶二三里的文章:https://blog.csdn.net/liang19890820/article/details/50586031,但是感觉他的很复杂,代码也不全,就自己写了个
关于学习中QMessageBox中的问题(Qt版本为5.6.0)
在学习《Qt on Android核心编程》的过程中,有个一个Q12的工程。rn在根据书本上进行编写的时候,编写完成运行有如下问题,不怎么明白!rn[code=c]void Widget::onSubmit()rnrn QString content;rn for(int i = 0; i < m_nQuestionCount; i++)rn content += QString("问题%1:%2\n").arg(i+1).arg(m_scores[i]->currentText());rn rn QMessageBox *msg = new QMessageBox(QMessageBox::information, "评测结果", content, QMessageBox::Ok, this);rn msg->exec();rn[/code]rn[img=https://img-bbs.csdn.net/upload/201603/23/1458719945_524756.png][/img]
QMessagebox简单使用
QMessageBox msg; msg.setWindowTitle(tr(&quot;提示&quot;)); msg.setText(&quot;所选范围内未检测到水深点,请重新选择!&quot;); msg.addButton(tr(&quot;确定&quot;), QMessageBox::YesRole); msg.addButton(tr(&quot;取消&quot;), QMess...
关于QMessageBox
QMessageBox::YesRole等,怎么看不出按钮的效果呢?
QMessageBox的使用
QT项目入门精讲,用四个QT项目(计算机、打地鼠、计时器、学生管理系统)来全面提高学员的学习实践性。
通用对话框QMessageBox
PyQt5中为我们提供了很多默认信息框QMessageBox,注意为方便使用需要导入模块。 (QMessageBox对话框包含类型只是图标不同其他无太大差别) QMessageBox.information 信息框 QMessageBox.question 问答框 QMessageBox.warning 警告 QMessageBox.ctitical危险 QMessageBox.about 关于...
QMessageBox的实现
QMessageBox的实现,让你不再为QMessageBox设置发愁
请教构造函数中的QMessageBox问题
[code=C/C++]rnclass Excel;rnExcel::Excel(QString strXlsFile, QObject *parent)rnrn ...rn // 此处判断文件是否存在,不存在弹出一个提示窗口rn QFile file(fileName);rn if (file.exists())rn rn ...rn rn elsern QMessageBox::critical(0, "", "File not found!");rn ...rnrnrnvoid MainWindow::on_pushButton_clicked()rnrn // 实例化一个对象,此时如果文件fileName不存在,程序就崩溃了rn Excel excel(fileName);rn ...rnrn[/code]rnrn请教该如何写啊?
相关热词 c#检测非法字符 c#双屏截图 c#中怎么关闭线程 c# 显示服务器上的图片 api嵌入窗口 c# c# 控制网页 c# encrypt c#微信网页版登录 c# login 居中 c# 考试软件