問題タブ [qtimer]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - PyQt4 で QThread エラーが発生する
PyQt4 4.8.6 を使用すると、以下のコードでエラーが発生します
QObject::startTimer: QTimer は QThread で開始されたスレッドでのみ使用できます
QApplicationの変数としてaが使用されている場合、変数にcpp(または他のほとんどのもの)が使用されている場合、エラーは発生しません。これは PyQt4 のバグですか、それとも何か不足していますか?
c++ - QTimer は、開始/停止するたびに速くなります
を使用しQTimer
てラベルのサイズをスムーズに変更しています。マウスをボタンの上に置くとラベルはゆっくりと大きくなり、マウスがボタンから離れるとゆっくりと折りたたまれます (消えるまでサイズが小さくなります)。
フォームのクラスに 2 つのタイマーがあります。
フォームのコンストラクターで、タイマーの値を設定し、ボタンmouseOver
とmouseOut
シグナルをフォームのスロットに接続しています。
ここで、これらのスロットで、対応するタイマーをスロットに接続し、スロットのサイズを徐々に変更してから、タイマーを開始します。
その後、ラベルはサイズの変更を開始します。
問題: 最初はすべてがスムーズに機能しますが、ラベルがゆっくりと開いたり閉じたりします。ただし、これを数回行うと、そのたびにサイズがどんどん速く変化し始めます (タイマーの間隔がどんどん小さくなっていくように、しかし明らかにそうではありません)。最終的に、数回開いたり閉じたりした後、マウスをボタンの上に置くとすぐにサイズが境界まで大きくなり始め、マウスがボタンから離れるとすぐにサイズがゼロになります。
その理由は何でしょうか?
qt - QList インデックスが範囲外
タイマーを使用して、スロットcheckBookings()
を繰り返し呼び出します。プログラムをコンパイルして実行することはできますが、上記の FOR ループを実行するとクラッシュします。
エラー:「QList での ASSERT 失敗::at:「インデックスが範囲外です」、ファイル ../../../../Qt/2010.05/qt/include/QtCore/../../src/corelib /tools/qlist.h、455 行目 C ランタイム関数に無効なパラメーターが渡されました.C ランタイム関数に無効なパラメーターが渡されました。"
私のコードは次のとおりです。
c++ - パラメータQt C ++としてQLabelを渡す
QLabel
でアニメーション化された小さな GIF がありQMovie
、GIF のアニメーションが完了したら、Qlabel
. 私はこれを試しましたが、うまくいきません:
ここに私の機能があります:
c++ - QMediaPlayerを使用せずにQtでオーディオおよびビデオファイルのデュレーションを取得する方法
QDirIteratorを使用してシステム ドライブをトラバースし、オーディオ/ビデオ ファイルを検索し、QStandardItemModel を使用して詳細を取得し、 QTreeviewに表示できるアプリケーションに取り組んでいます。ファイル名、タイプ、サイズ、変更日を表示することに成功しましたが、DURATIONは表示できません。
コードは次のとおりです。
そのようなプロパティが見つからなかったため、上記の方法で期間を取得できるかどうかはわかりません。それを行う他の方法はありますか?QMediaPlayer を使用したくありません。上記のコードを Duration で更新するのに役立つ他の代替ソリューションはありますか???
python - コードに QTimer がない場合、「QTimer は QThread で開始されたスレッドでのみ使用できます」というメッセージが表示されるのはなぜですか?
アプリケーションを終了するとき (およびそのときのみ)、コマンド プロンプトに次の (およびこれらのメッセージのみ) 繰り返されるメッセージが表示されます。
コード (または QThread) で QTimer を使用したことがないため、これは私にとって非常に奇妙です。実際、アプリケーションを使用してエラーやクラッシュは発生しないため、これは実際には問題ではありません。これは、Windows OS と Linux OS の両方で発生します。
すべての私のインポート:
主な機能:
おそらく、QFileSystemWatcher (QFileSystemModel によって使用される) に関連するものである可能性があります。おそらく、いくつかの QTimer 機能を使用していると思います。
c++ - QTを使用して、さらに呼び出しが発生する可能性がある場合でも、特定の間隔の後に関数を1回呼び出す方法は?
それほど複雑ではないと思いますが、この質問を言葉で表現するのに苦労しています。
私は似たようなことをしたいのですが、起動する前に複数回呼び出されQTimer::singleshot()
たとしても、SLOT を 1 回だけ呼び出す必要があります。QTimer::singleshot()
python - バックグラウンド スレッドの経過時間を表示するための GUI タイマーに関するアドバイスはありますか?
問題
ユーザーがボタンを押してバックグラウンド スレッドを開始する PyQt GUI があります (workerThread
からサブクラス化されたQThread
)。QLabel
開始からの経過時間を示すタイマー表示 ( の形式) が必要workerThread
であり、このタイマーが終了したらすぐに停止するようにしたいと考えていworkerThread
ます。
考えられる解決策
を使用してスロットにシグナルを送信し、メイン GUI スレッドで を 1 秒ごとの経過時間で更新する別の独立したスレッド ( timerThread
) を作成することを考えました。これは、 から終了シグナルを受け取るとすぐに終了します。QTimer
QLabel
timerThread
workerThread
ただし、timerThread
と同時に開始する必要がWorkerThread
あり、その方法がわかりません。
質問
これを行う簡単な方法はありますか?そもそもQTimer
正しいアプローチですか?
python - QWaitConditionを使用するQThread内でQTimerを使用するにはどうすればよいですか?(pyside)
私はpysideを使用していますが、(私は)一般的なQtの質問です。
QThreadの実装が._exec()メソッドを呼び出すことを知っているので、開始されたQThreadでイベントループが必要です。このようにして、そのスレッドでQTimerを使用できます(これを実行しましたが、完全に機能します)。私の問題は、QWaitConditionも使用されている場合、QWaitConditionで(プロデューサーからの)通知を待機する無限ループの「コンシューマー」スレッドが欲しいということです。私が抱えている問題は、このデザインではコンシューマースレッド内でQTimerを使用できないことです。
これは私が説明しようとしているシナリオの抜粋です:
ボタンをクリックすると、次のような出力が得られます。
これは、loop()メソッド内で作成されたQTimerがイベントループによって実行されないことを意味します。
デザインをQWaitConditionからSignalsに変更すると(これはより良いデザインです)、QTimerは機能しますが、QWaitConditionを使用したときになぜ機能しないのか知りたいです。
python - __init__ で宣言されたインスタンスの Python "AttributeError"
Python と Qt でアプリケーションを開発していますが、明確にしたいことがあります。次のコード例を見てください。
コードを実行すると、
self.serial
しかし、クラス内で呼び出されるこの種のエラーはありません。これら 2 つのインスタンスの違いとtimer
、クラス全体でアクセスできるように呼び出す方法を教えてください。