1

我在一个 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
}
4

2 回答 2

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
}
于 2017-07-28T13:42:54.730 回答
0

您可以使用QCheckBox::checkState()如下方式检查状态:

if (QCheckBox->checkState() == Qt::Unchecked)
{
    ui->QPushButton->setEnabled(false);
}
于 2017-07-28T13:08:36.187 回答