Qua*_*ale 3 c++ qt click mousepress qpushbutton
当QPushButton被点击时,我希望它保持向下压,直到再次点击.
void MainWindow::itemClicked(){
QPushButton *clickedItem = qobject_cast<QPushButton *>(sender());
qDebug() << clickedItem->isDown();
if(!clickedItem->isDown())
clickedItem->setDown(true);
else
clickedItem->setDown(false);
}
Run Code Online (Sandbox Code Playgroud)
这似乎不起作用.这将导致无限期按下按钮.
clickedItem->isDown() 总是假的.
isDown始终返回false,因为您正在连接到clicked信号的插槽中进行检查.在clicked当你按下按钮和释放信号emited.因此,每次按下并释放按钮时,点击的信号都会被激活.
setCheckable()会对你有用.它将使按钮切换.因此,当您单击时,它将保持在关闭状态,直到您再次单击它.