取消选择QCheckBox时如何禁用QPushButton

时间:2017-07-28 12:57:05

标签: c++ qt qpushbutton qcheckbox

我在Qt项目中工作,用户可以通过选择或取消选择QCheckBox来启用或禁用QPushButton。
我已经开发了一个函数,其中鼠标事件启用QPushButton,但问题是,当我取消选择QCheckBox时,QPushButton保持启用状态。
在取消选中QCheckBox时是否有Qt功能禁用按钮?

这是我写的代码:

//Class.h
//Function to enable the button
private slots:
   void on_QCheckBox_clicked();
//Class.cpp
void class::on_QCheckBox_clicked() {
  ui->QPushButton->setEnabled(true);
  //Here i enabled the button with setEnabled function
}

2 个答案:

答案 0 :(得分:1)

感谢@Scheff!

我通过使用QObject::connect()将我的QCheckBox和我的QPushButton连接在一起解决了

以下是一个例子:

class::class() {
  QObject::connect(ui->QCheckBox, &QCheckBox::toggled, ui->QPushButton, &QPushButton::setEnabled);
  //Where ui->QCheckBox is the checkbox and ui->QPushButton is your button
}

答案 1 :(得分:0)

您可以使用QCheckBox::checkState()检查状态,如下所示:

if (QCheckBox->checkState() == Qt::Unchecked)
{
    ui->QPushButton->setEnabled(false);
}