【发布时间】:2020-07-20 08:06:22
【问题描述】:
我有一个子 QDialog,当从它按下按钮时,会从 QtConcurrent 打开一个套接字,如果出现错误,则会显示一个警告对话框。 但是如果用户关闭子 QDialog 以返回主窗口,则子 QDialog 插槽无法接收到信号。 我试图将信号广播到 parentWidget,但程序崩溃了,因为 this->parentWidget() 不再存在。 我使用此代码发出信号并将其连接到插槽
connect(this, SIGNAL(errorTcpSignal(QString)), this, SLOT(displayTcpError(QString)));
connect(&t, QOverload<QAbstractSocket::SocketError>::of(&QAbstractSocket::error),[=](QAbstractSocket::SocketError err){
emit errorTcpSignal("Error while changing game settings \n" + QVariant::fromValue(err).toString());
});
有没有办法解决这个问题? 非常感谢。
【问题讨论】:
标签: qt user-interface qt5