gpt4 book ai didi

c++ - 错误时显示错误消息框。我怎样才能显示它?

转载 作者:行者123 更新时间:2023-11-28 04:27:30 25 4
gpt4 key购买 nike

我尝试显示错误消息框,但发生了错误。任何人都可以帮助检查我的编码吗?

void smtp_listener::pop3Stat(QString reply)
{

print_D(FUNC);
if(reply.contains("+OK"))
{
*t << "stat" <<"\r\n";
t->flush();

setState(POP3_Read);
}
else
{
print_E("ERROR :"+reply,FUNC,__LINE__);
QMessageBox msgBox;
msgBox.setWindowTitle("Error");
msgBox.setText("Please check it.");
msgBox.exec();
quitConn();
setState(POP3_Quit);
}
}

错误如下:

Invalid parameter passed to C runtime function.
Invalid parameter passed to C runtime function.
ASSERT failure in QWidget: "Widgets must be created in the GUI thread.", file kernel\qwidget.cpp, line 1118

最佳答案

问题似乎是您的 smtp_listener 正在另一个线程中执行。一个相当简单的 Qt 解决方案是不尝试显示来自 smtp_listener 的错误。而是给您的 smtp_listener 一个错误信号。将此信号连接到表单中负责显示错误的插槽。 Qt 的信号系统会将信号排队等待在 gui 线程中执行。

关于c++ - 错误时显示错误消息框。我怎样才能显示它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53944147/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com