2017-11-29 4 views
0

私はQtQuickControlsアプリケーションで作業していますが、ショートカットコンテキストに関するいくつかの難しい動作に気付きました。 QtQuick.Controls 2.0を使用すると、ウィンドウ固有のショートカットが互いにオーバーライドしているように見えます。私のアプリケーションは完全にキー駆動型で、複数のページ/ポップアップ(産業用コントロールパネル)で構成されています。私は彼らのシンプルさとフォーカス管理の欠如のためにショートカットを決めました。 QtQuick.Controls 2.2で動作するので、私の実装は合法であることを知っています。実装の概要を以下に示します。QtQuick.Controlsウィンドウ間のショートカットコンテキストのオーバーラップ

ApplicationWindow{ 
    id: mainWindow 

    Shortcut{ 
     objectName: "menuButton" 
     context: Qt.WindowShortcut 
     sequence: "z" 
     onActivated: { 
      mainMenu.open() 
     } 
    }  
} 

Popup{ 
    id: mainMenu 
    anchors.fill: parent 
    Rectangle{ 
     id: rectangle 
     color: "#ffffff" 
    } 

    Shortcut{ 
     id: changeColor 
     context: Qt.WindowShortcut 
     sequence: "z" 
     onActivated: { 
      rectanlge.color = "steelblue" 
     } 
    } 
} 

それは大まかな実装だが、私は、同じ配列を持つ2つのショートカットがそのコンテキストを2つの相互に排他的な窓であったとしても、その配列の最初のキーを押した後、互いに相殺されることに気付きました。これはバグですか?回避策はありますか?これはQtQuick.ControlsでQt 5.9.0で動作しています。2.2

答えて

0

修正済みです。ショートカットには、ポップアップが表示されるタイミングに応じて切り替えることができるenabledプロパティがあります。参照:link

関連する問題