0

QSystemTrayIcon クラスを使用して TrayIconMenu を表示すると、TrayIconMenu をクリックするとポップアップ メニューが表示されます。

アプリケーションが他のタスクの処理でビジー状態の場合は、TrayIcon をクリックします。ポップアップ メニューは表示されませんが、メニューの境界線がしばらく表示されます。同じコードが Mac でも動作します。

メニューを表示しようとしている次の方法:

    QMenu *myMenu();
    QSystemTrayIcon myTrayIcon;
    myTrayIcon.mytMenu()->show();
4

1 に答える 1

0

おそらく問題は、大規模な計算ブロックまたは大きくて遅いループにあります。このボトルネックの場所がわかっている場合は、イベントをループさせて、キューに入れられたイベントを単に挿入するだけで処理できます。

QApplication::processEvents();

計算ループ内のある時点で。

また、大きくてコストのかかるタスクを小さくて高速なタスクに分割するようにしてください。イベント ループにその間のイベントを処理させることができます。

于 2012-05-16T17:44:45.273 に答える