ユーザーがボタンをクリックした後に操作を行う必要があり、それには時間がかかることがあります。どのようにして、 "ビジー"または "しばらくお待ちください"アイコン/メッセージ(旋回円など)を表示し、その間にユーザーがボタンを再度クリックしないようにするにはどうすればよいですか?ありがとう。Qtで長時間稼動している間は「お待ちください」?
0
A
答えて
1
は、以下に示すように、「忙しい」アプリケーションを作るために、あなたはQApplicationオブジェクトの静的関数待機カーソルを設定しsetOverrideCursor(const QCursor &cursor)
使用してください。
そして、あなたは仕事が
QApplication::restoreOverrideCursor();
いくつかのドキュメントのヘルプに行われていると感じたときに、機能の下に使用して復元:イベントフィルタを無効に、ウィンドウを無効にするには今すぐ
http://doc.qt.io/qt-5/qguiapplication.html#setOverrideCursor
をあなたのウィンドウクラスの関数。
"busy"または "notbusy"というグローバル変数を宣言します。例:_isBusy
。
イベントフィルタでは、次のように処理します。
eventfilter
は、QObject
の仮想関数です。
したがって、以下のようにウィンドウクラスでオーバーライドできます。
bool MainWindow::eventFilter(QObject *obj, QEvent *event)
{
if (_isBusy) //your global variable to check "busy or "notbusy"
{
//Just bypass key and mouse events
switch(event->type())
{
case QEvent::MouseButtonPress:
case QEvent::MouseButtonRelease:
case QEvent::KeyPress:
case QEvent::KeyRelease:
return true;
}
}
}
注:上記の関数宣言で「メインウィンドウには、」自分のクラス名です。また、switchステートメントでは、カウントをわずか4つのイベントに限定し、必要な数のイベントを追加しました。
関連する問題
- 1. セレンスクリプトは、明示的な待ち時間で定義された時間だけ長く待機しません。
- 2. お客様の待ち時間は、
- 3. レイルズ "お待ちください"ページ
- 4. SP.UI.ModalDialog(メッセージをお待ちください)
- 5. jQuery PDFダウンロード - お待ちください。
- 6. Excel VBA「お待ちください」ポップアップメッセージ
- 7. 「お待ちください」NSStream
- 8. wifi接続時までお待ちください。
- 9. バックグラウンドで長時間アプリを実行してください
- 10. EC2の待ち時間、および一般的な待ち時間
- 11. WSO2 BPS待機アクティビティが構成されている待機時間より長く待ちます
- 12. 2つのページの間に「お待ちください...」が正しく動作しません
- 13. FirebugがPOSTリクエストに長い待ち時間を表示する
- 14. クロニクルキュー予期しない待ち時間
- 15. ログアクション待ち時間
- 16. URL変数をしばらくお待ちください。
- 17. Rails:しばらくお待ちください..レポート生成ページ
- 18. C#async、タスクなしでお待ちください
- 19. 待ち時間の長い(?)ユーザのための長いPHP実行
- 20. ファイルの時間/待ち時間のベンチマーク
- 21. ConnectionRequestで「お待ちください」ダイアログを表示する
- 22. Android:AlarmManagerは24時間ごとに稼動しています。
- 23. Linuxネットワークアプリケーションの待ち時間が高い
- 24. ボタンクリックの待ち時間が少ない
- 25. マルチプレイヤーゲームの待ち時間の扱い
- 26. 稼働時間が遅い
- 27. Wordpressサイト受信待ち/待ち受け時間が遅い
- 28. 時間帯に基づいて時間帯を変更してください
- 29. Capybara/Poltergeist - JavaScript完了までお待ちください
- 30. Android SDKで長期間ログインしてください
あなたが望むもののイメージを表示することができます。 – eyllanesc
gifアニメーションをqdialogとshowで追加)) –
イメージを表示すると、ユーザーがボタンをクリックするのを止める方法は?各ボタンにコントロールを追加する必要がありますか? – YeP