QCheckBox->isChecked() 问题
QCheckBox->isChecked() issue
当复选框被选中时,以下代码不起作用。无论复选框是否被选中,它都会跳转到"else"语句。
void MainWindow::runButtonClicked()
{
if (MainWindow::betAllRed->isChecked()==true){
red.didBet=true;
qDebug()<<"bet Red true";
} else{
qDebug()<<"red not checked";
}
}
这里有什么明显的错误还是其他地方的问题?我需要连接一个插槽来获取检查状态吗?
问题在于访问betAllRed复选框的方式。如果您正在使用设计器,您可以使用Ui;
访问它。if(ui->betAllRed->isChecked())
如果你使用自己的代码:
QComboBox *betAllRed = new QComboBox(this);
直接使用:
if(this->betAllRed->isChecked())
我怀疑你做错了,你实际上有两个betAllRed
字段:你已经创建并初始化了QCheckBox* MainWindow::betAllRed
,然后你也有一个复选框在MainWindow::ui(可能有相同的名字,如果你重命名它在设计器,否则与设计师创建的默认名称)。
如果是这种情况,请删除自己的betAllRed
,然后修复代码以使用ui->betAllRed
访问复选框(并且可能在Designer中重命名复选框,如果它现在具有默认名称)。
然后是关于你这一行的编码风格注释:
if (MainWindow::betAllRed->isChecked()==true){
这一行就等于这样,这样更短更清晰:
if (betAllRed->isChecked()) {
相关文章:
- 警告处理为错误这里有什么问题
- 最小硬币更换问题(自上而下方法)
- 为"adjacent"变量赋值时出现问题
- 我的神经网络不起作用 [XOR 问题]
- 在Ubuntu 16.04上安装Cilk时出现问题
- C++我的数学有什么问题,为什么我的代码不能正确循环
- 编译包含字符串的代码时遇到问题
- Project Euler问题4的错误解决方案
- 问题:什么是QAbstractItemView::NoEditTriggers的反面
- 在编译C++代码(具有dlib和opencv)到WASM时面临问题
- 在进程中对同一管道进行读取和写入时C++管道出现问题
- 静态数据成员的问题-修复链接错误会导致编译器错误
- C++ 雷神库 - 使用资源加载器类时出现问题(不命名类型)
- 一个关于在C++中重载布尔运算符的问题
- 首要问题的答案让值班员搞错了
- setlocale的C++土耳其字符串问题
- 如何重构类层次结构以避免菱形问题
- 基于boost的程序的静态链接——zlib问题
- C++格式化输出问题
- QCheckBox->isChecked() 问题