为什么调用了QMessageBox::information()后程序崩溃了?

fish_of_deadsea 2010-05-23 09:04:35
QMessageBox::information(NULL, tr("Error!"),
tr("A偏移量超出范围!"),
QMessageBox::Ok | QMessageBox::Cancel,
QMessageBox::Cancel);
这句执行完,点击OK或者Cancle后程序就崩溃了,只能关闭。
试了:
QMessageBox::information(NULL, tr("Error!"),
tr("A偏移量超出范围!"),
QMessageBox::Ok);
仔细调试后发现时在后面一句painter.drawPath(path);时发生了问题,如果将QMessageBox::information这句去掉则不会发生这个问题。我知道这个一般是指针的问题,但是不懂如何去找到问题?
...全文
2147 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
fish_of_deadsea 2010-06-04
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 bookscape 的回复:]

不能在paintEvent中使用MessageBox,把这个挪到鼠标事件里吧
[/Quote]我试过写了一个简单的程序,在paintEvent中调用QMessageBox的方法,没有问题啊
bookscape 2010-06-03
  • 打赏
  • 举报
回复
不能在paintEvent中使用MessageBox,把这个挪到鼠标事件里吧
火箭猫 2010-06-03
  • 打赏
  • 举报
回复
是segment error还是没有响应?
fish_of_deadsea 2010-05-29
  • 打赏
  • 举报
回复
我是在paintEvent()中用的information(),这样有问题吗
fish_of_deadsea 2010-05-29
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 cuzn1024 的回复:]

肯定是有特定上下文的,是否在线程中?
[/Quote]
不在线程中的
fish_of_deadsea 2010-05-29
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 foxyz 的回复:]

tr("A偏移量超出范围!"),
这句暂时用英文代替看看.这个函数是一个static的
按理说跟上下文一点关系都没有
[/Quote]
用了英文的还是不行,应该和英文的没关系,怎么回事啊到底。。。
donwmufromdying 2010-05-25
  • 打赏
  • 举报
回复
tr("A偏移量超出范围!"),
这句暂时用英文代替看看.这个函数是一个static的
按理说跟上下文一点关系都没有
kongyanmin 2010-05-24
  • 打赏
  • 举报
回复
看看。
dext 2010-05-24
  • 打赏
  • 举报
回复
那时是不是要把 代码贴出来啊?
你的path 是 空指针吗?
  • 打赏
  • 举报
回复
肯定是有特定上下文的,是否在线程中?
fish_of_deadsea 2010-05-24
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 dext 的回复:]
那时是不是要把 代码贴出来啊?
你的path 是 空指针吗?
[/Quote]
如果将QMessageBox::information这句去掉则不会发生这个问题,path不是指针:QPainterPath path;

16,225

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧