取消选择 QCheckBox 时如何禁用 QPushButton
How to disable a QPushButton when deselect a QCheckBox
我在 Qt 项目中工作,用户可以通过选择或取消选择 QCheckBox 来启用或禁用 QPushButton。
我已经开发了一个鼠标事件启用 QPushButton 的功能,但问题是当我取消选择 QCheckBox 时,QPushButton 仍然启用。
是否有 Qt 函数可以在 QCheckBox 未选中时禁用按钮?
这是我写的代码:
//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
}
您可以使用 QCheckBox::checkState()
检查状态,如下所示:
if (QCheckBox->checkState() == Qt::Unchecked)
{
ui->QPushButton->setEnabled(false);
}
感谢@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
}
我在 Qt 项目中工作,用户可以通过选择或取消选择 QCheckBox 来启用或禁用 QPushButton。
我已经开发了一个鼠标事件启用 QPushButton 的功能,但问题是当我取消选择 QCheckBox 时,QPushButton 仍然启用。
是否有 Qt 函数可以在 QCheckBox 未选中时禁用按钮?
这是我写的代码:
//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
}
您可以使用 QCheckBox::checkState()
检查状态,如下所示:
if (QCheckBox->checkState() == Qt::Unchecked)
{
ui->QPushButton->setEnabled(false);
}
感谢@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
}