2

クリックすると がQSystemTrayIcon表示QMenuされる がありますが、トレイアイコンが表示されたらすぐにメニューを表示したいです。showでメソッドを呼び出してみましたQMenuが、メニューはクリックしたときにしか表示されないようです。この動作を変更する方法について何か考えはありますか?

4

1 に答える 1

1

ユーザーがシステムトレイをクリックしたときにオペレーティングシステムによってトリガーされる動作をトリガーできるかどうかはわかりませんが、少なくともQMenu::popupメソッドを使用して、 QSystemTrayIcon::contextMenuメソッドによって返されるメニューを表示できるはずです。

QSystemTrayIcon::geometryに対するメニューの位置を計算するときは、メニューのサイズのヒントを使用する必要があることに注意してください。また、タスクバーの場所に関係なく、 QDesktopWidget::availableGeometryを使用してメニューが画面内にポップアップするようにする必要がある場合もあります。

于 2013-05-11T06:26:54.840 に答える