当单击 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/