c++ - QCheckBox->isChecked() 问题

标签 c++ qt qcheckbox

选中复选框时,以下代码不起作用。无论复选框是否被选中,它都会跳转到“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())

关于c++ - QCheckBox->isChecked() 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14089389/

相关文章:

c++ - 奇怪的 std::distance 输出

python - 适用于 OSX 10.6 上 PyQt 的 Qt 设计器

java - 更改 Qt Jambi 中的 QCheckBox 样式

qt - QStyledItemDelegate:如何使复选框按钮在单击时更改其状态

c++ - 如何使 QCheckBox 只读,但不灰显

c++ - 解析C头文件生成文件

c++ - 通用对象载体类 - C++

c++ - std::thread::swap的目的是什么?

c++ - 为什么 ~(true^true) 不是真的? boolean 运算符(否定)适用于 `unsigned char` s,但不适用于 boolean 值? (C++)

c++ - 加载 url 时 QWebView 崩溃