【问题标题】:How to edit a buttons connection in Qt如何在 Qt 中编辑按钮连接
【发布时间】:2014-09-25 08:00:37
【问题描述】:

编辑:我不想按照this thread 中的建议调用对象析构函数。

我已将按钮连接到插槽。此插槽启动一个进程。

ui->btnActivate->setText("Start");
connect(ui->btnActivate, SIGNAL(clicked()),this, SLOT(startProcess()));

流程结束后,我做

ui->btnActivate->setText("Close");
connect(ui->btnActivate, SIGNAL(clicked()),this, SLOT(close()));

但现在按钮启动进程,然后运行关闭。如何在更改按钮行为之前断开第一个连接?我想避免调用析构函数

【问题讨论】:

  • 您可以从插槽断开信号:disconnect(ui->btnActivate, SIGNAL(clicked()),this, SLOT(startProcess()));
  • @Nejat 谢谢,这行得通。我不想使用析构函数,所以这是完美的。

标签: qt


【解决方案1】:

只需使用 QObject::disconnect 的 5 个签名中的 1 个即可简单地删除 2 个对象之间的连接,而不会破坏其中任何一个。

【讨论】:

    猜你喜欢
    • 2016-05-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多