我有一个带有快捷方式的Qt Quick Controls 2 Action:
Action {
id: myAction
shortcut: "Ctrl+D"
}
如何获取快捷方式的平台本机表示形式?
这是我已经尝试过的:
像这样立即使用快捷方式
ToolTip.text: myAction.shortcut
但是,这将返回定义的快捷方式(例如"Ctrl+D"
),而不是平台本机表示形式(例如"⌘D"
)。如果使用StandardKey
,它也会返回错误的结果,因为它给出StandardKey
的整数值,而不是相应的组合键。
使用nativeText
属性,例如
ToolTip.text: myAction.shortcut.nativeText
但是这样的属性不存在。
答案 0 :(得分:1)
似乎没有直接的方法来获得这个。
一种解决方法是:
b'<!DOCTYPE html><html lang="en"><head><script>window.gitHash=\'bddfa72\';</script><script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({\'gtm.start\': new Date().getTime(),event:\'gtm.js\'});var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!=\'dataLayer\'?\'&l=\'+l:\'\';j.async=true;j.src=\'https://www.googletagmanager.com/gtm.js?id=\'+i+dl;f.parentNode.insertBefore(j,f);})(window,document,\'script\',\'dataLayer\',\'GTM-N7HL5NW\');</script><title>Account</title><meta name="viewport" content="width=device-width, initial-scale=1.0" /><link rel="stylesheet" href="/public/core.min.css?_=bddfa72" /><link rel="stylesheet" href="/public/pages/docs.min.css?_=bddfa72" /><link rel="shortcut icon" href="/public/media/img/favicon.ico?_=bddfa72" /></head><body><div id="app-mount"></div><script src="/public/core.min.js?_=bddfa72"></script><script src="/public/pages/docs.min.js?_=bddfa72"></script></body></html>'
项目 Shortcut
属性为我们提供平台本地表示。nativeText
派生并添加自定义属性以保存快捷方式 Action
的{{1}}属性将始终返回一个字符串,当使用{{1}时,该字符串将被shortcut
项目错误地解释。 }(Action
项目会将整数值解释为快捷方式,因此您得到的是Shortcut
而不是StandardKey
)。Shortcut
快捷方式和"3"
序列 所以在代码中:
CustomAction.qml
"Ctrl+O"
ToolTipButton.qml
Action
像这样使用:
main.qml
Shortcut