【发布时间】:2017-07-28 12:57:05
【问题描述】:
我在一个 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
}
【问题讨论】:
-
您能否分享您的完整代码,以便我们检查。
-
这是代码的相关部分...其他与这个问题无关。
-
有一个名为 QCheckBox::stateChanged(int state) 的信号,你应该使用它。您还应该提供将信号连接在一起的代码
-
Qt5:
QObject::connect(pQTglBtnEn, &QCheckBox::toggled, pQBtn, &PushButton::setEnabled);与QCheckBox *pQTglBtn;和QPushButton *pQBtn; -
Qt4:
QObject::connect(pQTglBtnEn, SIGNAL(toggled(bool)), pQBtn, SLOT(setEnabled(bool)));与QCheckBox *pQTglBtn;和QPushButton *pQBtn;
标签: c++ qt qpushbutton qcheckbox