[英]Retrieving the used modifiers on button click with QtQuick 2.9
我有一個在 QtQuick 2.9 上運行的純 QML 應用程序。
我正在嘗試檢索鼠標單擊期間使用的鍵盤修飾符。
從 QtQuick 2.15 開始,我可以這樣寫:
Button {
text: "button"
onClicked: {
if ((mouse.button == Qt.LeftButton) && (mouse.modifiers & Qt.ShiftModifier)) {
doSomething();
} else {
doSomethingElse();
}
}
}
但是MouseEvent在 QtQuick 2.9 中不可用。
什么是替代方案?
按鈕的clicked
信號不提供 MouseEvent(無論您使用的是哪個版本的 Qt)。 單擊信號也可以通過鍵盤生成,因此提供 MouseEvent 沒有意義。 您將需要創建一個 MouseArea 並自己處理事件以執行您想要的操作。
Button {
id: button
MouseArea {
id: mouse
anchors.fill: parent
onPressed: {
if ((mouse.button == Qt.LeftButton) && (mouse.modifiers & Qt.ShiftModifier)) {
doSomething();
} else {
doSomethingElse();
}
}
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.