首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >关于Qt::warning()重载

关于Qt::warning()重载
EN

Stack Overflow用户
提问于 2013-07-21 14:41:19
回答 2查看 1.6K关注 0票数 3
代码语言:javascript
复制
QMessageBox::warning(this,tr("Error"),
                             tr("File existed"));

我用QtCreator表示MSVS2012,Win7。"this“指向从QWizard类继承的一个公共类,编译器输出是

错误C2665:“QMessageBox::警告”:4个重载中没有一个可以转换所有参数类型个重载中没有一个可以转换所有参数类型可能是“QMessageBox::StandardButton QMessageBox::警告”(QWidget *、const QString &、const QString &、QMessageBox::StandardButtons、QMessageBox::StandardButton)“尝试匹配参数列表”(const newWizard *const、QString、QString)“时”

这意味着这4种重载都不能转换所有参数类型。有人能帮我吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-07-21 20:53:18

this替换为0,它应该可以工作。

基本上,对话框不需要父程序。它可以独立存在,没有问题。

https://qt-project.org/doc/qt-4.8/objecttrees.html

正如对您的问题的评论所述,您也不能在const方法中调用警告。

另一种选择是,您可以摆脱constnewWizard()方法的特性。

希望这能有所帮助。

票数 2
EN

Stack Overflow用户

发布于 2013-07-22 02:18:47

尝试将this转换为QWidget *,我同意@phyatt,您可以设置parent = 0。这意味着您的警告没有父级,并且是桌面的子项。

例如:

代码语言:javascript
复制
QMessageBox::warning((QWidget *)this,tr("Error"),
                             tr("File existed"));
QMessageBox::warning(0,tr("Error"),
                             tr("File existed"));
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17773502

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档