OSXでQtRubyを使用してタイムロギングアプリケーションを作成しています。定期的にユーザー(私のチーム)に時間を記録するように通知することが重要です。できればフォアグラウンドに来て(必要に応じて最小化しないで)時間を記録してください。これはMacに非常に似ていないので、バウンドするタスクトレイアイコンを受け入れます。どちらも働けません。
とにかく、私は以下を試しました
self.show()
self.showNormal()
self.raise()
self.activateWindow()
self.maximize()
self.setWindowState(Qt::WindowActive)
self.setWindowState(Qt::WindowMaximized)
# Must execute this with GUI thread
msgbox = Qt::MessageBox.new()
msgbox.setText('LOG YOUR TIME!')
msgbox.exec()
これらのコマンドはすべて、最小化またはバックグラウンドで無視されるようです。メッセージボックスをポップアップしようとしたときに、「別のスレッドにある親の子を作成できない」という問題を回避しました。信号を発することでエラーが発生しますが、ユーザーがウィンドウをアクティブにするまでイベントは処理されないようです。
QTRubyまたはOSXのQT&C ++で最小化されたウィンドウをポップアップする方法を知っている人はいますか?
TIAルーク