【发布时间】:2012-12-30 08:34:33
【问题描述】:
选中复选框后,以下代码不起作用。无论复选框是否被选中,都会跳转到“else”语句。
void MainWindow::runButtonClicked()
{
if (MainWindow::betAllRed->isChecked()==true){
red.didBet=true;
qDebug()<<"bet Red true";
} else{
qDebug()<<"red not checked";
}
}
这里有什么明显的问题还是其他地方有问题? 是否需要连接插槽才能获得检查状态?
【问题讨论】:
-
看起来错误的是您访问
betAllRed成员的方式。如果您需要消除歧义,只需使用betAllRed->(不带限定符)或this->betAllRed会更常见。 -
@Mat 没有错,只是多余的。该语法可用于访问特定命名空间/范围内的标识符,在本例中为 MainWindow::,无论如何都会使用该标识符。 (编辑:但我想你知道这一点,现在我重新阅读了你在评论中写的内容,但无论如何都要澄清这一点。)
-
您是否使用 Designer 创建 GUI?