3

コンテキストメニューを使用してトレイアイコンを作成し、そのアクティブ化された信号をダイアログのスロットに添付しました。

trayIconMenu = new QMenu(this);
trayIconMenu->addAction(showAction);
trayIconMenu->addAction(quitAction);

trayIcon = new QSystemTrayIcon(this);
trayIcon->setContextMenu(trayIconMenu);
trayIcon->setIcon(QIcon(":/images/gear.png"));
trayIcon->show();
trayIcon->showMessage(tr("SSTRNL-B"),tr("Message from tray icon!"));

QObject::connect(trayIcon, SIGNAL(activated(QSystemTrayIcon::ActivationReason)),
                 this,   SLOT(trayactivated(QSystemTrayIcon::ActivationReason)));

トレイアイコンをクリックすると、スロットが呼び出されます。したがって、QSystemTrayIconにアタッチされたコンテキストメニューが表示されないことを除いて、すべてが順調に進んでいます。

デスクトップシステムでは、トレイアイコンを右クリックしてコンテキストメニューを表示できます。しかし、コンテキストメニューを表示するには、Windows Mobile / CEで何をする必要がありますか?

4

1 に答える 1

1

かどうかを確認QSystemTrayIcon::ActivationReason==QSystemTrayIcon::ContextしてくださいSLOT。モバイルアプリを使用しているためcontextmenu、一般的なOSとはクリックパターンが異なる場合があります。

OK であれば、SLOTQSystemTrayIcon::Triggerを呼び出しtrayIcon->contextMenu()->popup(QPoint&)ます。ここで、QPoint はtrayIcon の場所です。

于 2012-05-28T13:58:55.567 に答える