【问题标题】:Qt emit signal after widget is closed小部件关闭后 Qt 发出信号
【发布时间】: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


    【解决方案1】:

    已解决: 从子小部件发出信号,但从父小部件设置连接。

    【讨论】:

      猜你喜欢
      • 2011-09-27
      • 1970-01-01
      • 1970-01-01
      • 2011-02-16
      • 1970-01-01
      • 2011-10-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多