单击 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()
总是假的。 最佳答案
isDown
总是返回 false,因为您正在连接到 clicked
信号的插槽中检查它。当您按下并松开按钮时,会发出 clicked
信号。因此,每次按下并释放按钮时,都会发出 clicked 信号。setCheckable()
对你有用。它将使按钮切换。因此,当您单击时,它会一直处于关闭状态,直到您再次单击它为止。
关于c++ - QPushButton setDown 点击,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25302050/