用qt 实现一个信号槽实现一个checkbox锁定一个组合框,虽然功能较简单,但是由于粗心大意,犯了几个毛病,
信号槽连接形式:connect(ui->checkBox, SIGNAL(state_changed(int)), SLOT(lockPro(int)));
界面中的checkbox控件的名称已经修改了,名字不是checkbox ,2是state_changed有一个int 参数,因此槽也要带一个int 参数,否则会报错没有这样的信号槽。
在改了组合框的被禁用的函数是setEnabled,不是seteditable
checkbox 勾选前
qcheckbox勾选后
显示combox 不能再选择项了。
正确的代码如下:
connect(ui->LockProduct, SIGNAL(stateChanged(int)), this, SLOT(lockPro(int)));
void MainWindow::lockPro(int )
{
if(ui->LockProduct->isChecked())
{
ui->cbPro->setEnabled(false);
}else
{
ui->cbPro->setEnabled(true);
}
}