簡體   English   中英

Qt菜單欄事件

[英]Qt menu bar events

我已經使用“設計”選項在Qt創建器中添加了菜單和菜單項。 然后,我rt單擊下面的關聯操作,然后單擊“轉到廣告位”。 這將帶我到單擊該菜單項時將要執行的代碼。 完美-差不多。 我想區分單擊和按住Shift單擊菜單項。 看起來我可以通過執行以下操作來確定是否已使用shift按鈕修改了該事件:

if (event->modifiers() & Qt::ShiftModifier) {
    ...
}

問題在於菜單單擊操作沒有傳遞任何事件。

我可以做我想做的事嗎? 我是否需要弄清楚如何傳遞事件-還是有其他方法可以測試是否按下了Shift鍵?

謝謝!

在被調用的插槽中,您可以使用QGuiApplication::keyboardModifiers()獲得當前的鍵盤修飾符:

void MainWindow::on_action_triggered() {
    if (QApplication::keyboardModifiers() & Qt::ShiftModifier) {
        // Shift key is down.
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM