2

コンテキストメニューを備えたPyQtトレイアイコンを持つアプリケーションを開発しました。実行すると、システムトレイに配置されます。このアプリには、組織内で選択された指定を除いて、終了ボタンはありません。

このアプリはシステムの起動時に構成および配置されるため、すべての従業員が自分のシステムにログインすると、ログインを追跡し、データベース内の従業員の可用性を「オンライン」に更新します。

この時点まで、すべてが正常に機能しています。主な問題は、彼/彼女がシステムをログオフまたはシャットダウンしてオフィスを離れるときです。この時点で、データベースで従業員の可用性を「オフライン」に更新する必要があります。これらのシステムイベントを追跡する方法がわかりません。

以下の信号を試しました

  1. lastWindowClosed()
  2. aboutToQuit()
  3. 破壊されました()
  4. closeEvent()のオーバーロード

Logoff / Shutdownを開始すると、これらのシグナルのいずれでもクローズ定義が実行されません。

4

1 に答える 1

2

このタスク用に設計されたQSessionManagerクラスがありますが、一部のプラットフォームでは他のプラットフォームよりもうまく機能する可能性があります。詳細については、セッション管理の概要を参照してください。

于 2012-12-17T19:34:21.143 に答える