c++ - QPushButton setDown 点击

标签 c++ qt click qpushbutton mousepress

当单击 QPushButton 时,我希望它保持按下状态直到再次单击。

void MainWindow::itemClicked(){

    QPushButton *clickedItem = qobject_cast<QPushButton *>(sender());

    qDebug() << clickedItem->isDown();

    if(!clickedItem->isDown())
        clickedItem->setDown(true);
    else
        clickedItem->setDown(false);
}

这似乎行不通。它会导致按钮被无限期地按下。

clickedItem->isDown() 始终为 false。

最佳答案

isDown 总是返回 false,因为您在连接到 clicked 信号的插槽中检查它。 clicked 信号在您按下并释放按钮时发出。因此,每次按下和释放按钮时,都会发出点击信号。

setCheckable() 适合您。它将使按钮切换。因此,当您点击时,它会保持向下状态,直到您再次点击它。

关于c++ - QPushButton setDown 点击,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25302050/

相关文章:

c++ - 如何在 Visual C++ 中将字符串文字转换为无符号字符数组

c++ - 精确的浮点<->字符串转换

user-interface - 如何在QTableView中触发项目的编辑模式?

jquery - 使用单击功能禁用 jquery 悬停功能

javascript - 如何自动点击按钮(模拟鼠标点击加载)?

java - 如何制作一个自动同步的程序

c++ - 如何在 Windows 10 x64 下通过 Clion 2017.1 编译 32 位应用程序?

python - 停用 QT Designer 中的复选框

c++ - 根据 Qt 版本添加条件宏

jquery - 使用 jQuery 检测哪个提交按钮被点击