回覆列表
  • 1 # 使用者2586955584324

    class ConnectCommand : public Command

    {

    public:

    ConnectCommand() {}

    bool run(Com *comport) Q_DECL_OVERRIDE;

    QString message() Q_DECL_OVERRIDE { return QStringLiteral("建立通訊"); }

    };

    bool ConnectCommand::run(Com *comport)

    {

    ....

    QMetaObject::invokeMethod(model, "updateConnection", Qt::QueuedConnection, Q_ARG(bool, true));

    ....

    }

    一個命令模式的程式,命令的執行在一個單獨的執行緒裡面(QThread::run()),想執行完畢後更新幾個狀態,因此用invokeMethod呼叫相應函式,其中的model是QThread的子類。

  • 中秋節和大豐收的關聯?
  • 讓物業和維保主動的收到電梯困人的通知,怎麼樣?