問題タブ [qthread]

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.

0 投票する
1 に答える
608 参照

python - PyQt4でスレッドを存続させる

私はPyQt4アプリケーションを持っています。これは、ある時点でtarfileモジュールを使用して大きなファイルをパックします。tarfileモジュールはコールバック戦略を実装していないため、ブロックされ、QtGUIが応答しなくなります。

その間、GUIを更新し続けてほしい。唯一の可能性は別のスレッドです。そこで、QThreadを開始します。GUIを更新するには、QThreadで何をする必要がありますか?タールプロセスが終了したらすぐに、スレッドを終了させます。

ありがとう!ネイサン

0 投票する
1 に答える
1022 参照

python - python QThread.runパラメーター-バージョン間で変更されましたか?

私のコード(python2.6、PyQt4)では、次のようにします。

私のgentooマシンでは、これは完全に機能します。ubunut(9.10、Karmic Koala)では機能せず、次のように表示されます。タイプエラー:myRun()は引数を取りません(1つ指定)

QTで何か変更がありましたか?どうすれば両方のマシンでこれを機能させることができますか?

ありがとう!ネイサン

0 投票する
1 に答える
1390 参照

multithreading - 既存の非QTスレッドでのQThreadイベントループの作成

私のコードは、処理時間が制限されているホストソフトウェアのプラグインです。したがって、(システムAPIを介して)2番目のスレッドを作成し、そこでQApplicationを開始します。そうすれば、GUIはスムーズに実行されます。

ここで、オリジナルでQThreadイベントループを実行して、Signal / Slot(Qt :: QueuedConnection)を使用して、ホストソフトウェアでスレッドセーフではない関数を呼び出すことができるようにします。

新しいスレッドを作成せずにそのようなQThreadイベントループを作成する方法はありますか?

ありがとう!

0 投票する
2 に答える
563 参照

memory - QThreadと読み取りメモリ

私はそのような問題に直面しました。UDP プロセス間通信を許可するライブラリがあります。それは非常に簡単です。ライブラリは、他のプロセスが読み書きできる共有メモリを作成します。プロセスが関心のあるメモリを読み取りたい場合、対応する共有メモリを一意に指す文字列値を渡し、読み取りの結果を受け取ることが期待されるコンテナー (char 配列) へのポインターを渡します。ライブラリは安全なマルチスレッドを提供します。

スレッドが run() ルーチンを離れたときに例外があります。

例外: アクセス違反であり、発生します

コード:

を許可した場合にのみ例外が発生しlibrary->readFromSharedMemory(struct_name, memory);ます。_freeptdアクセス違反の原因となるメモリにアクセスできません。

手が必要です。事前にThx。

0 投票する
1 に答える
1646 参照

qt - quit()を呼び出した後にQThreadをクリーンアップします

私は問題があります。Abort()を呼び出すと、complexMathインスタンスにクリーンアップを行うのに十分な時間がなくても、run関数が返されます。

私が欲しいのは、Abort()を呼び出した後、complexMathインスタンスがそれ自体をシャットダウンするのに十分な時間があることです。これにより、保留中のすべての信号とスロット(complexMath内では、独自の信号とスロットもあります)がクリアされてから戻ります。

ありがとう!

0 投票する
3 に答える
1443 参照

c++ - QThread で実行中の select/pselect を中断する方法

ソケットから読み取り、利用可能なデータがあるときに信号 (QT 信号) を送信する QThread があります。これは read(2) をブロックすることで簡単ですが、あまり長く待たずに外部からスレッドを停止できるようにする必要があります。

pthread を使用していた場合は pselect と を使用しますpthread_kill(thread_id, some_signal)が、QThread には同様のメソッドがないようです。そして、このプロジェクトに pthread への依存関係を追加することは、エレガントに見えません。

また、比較的短いタイムアウトでソケットから常に読み取ろうとするような他の醜い方法も使用したくありません。

編集: ソケットは TCP ではなく、Bluetooth L2CAP です。

0 投票する
2 に答える
260 参照

multithreading - メインスレッドからスロットが呼び出されるのはなぜですか?

GUI を処理するメイン スレッドとネットワーク接続を管理する 2 番目のスレッドの 2 つのスレッドを持つ Qt アプリケーションがあります。スレッドコードは次のとおりです。

OnConnect()アプリケーションの先頭にブレークポイントを置いてデバッグするOnConnect()と、メイン スレッドから呼び出されていることが通知されます。

OnConnect()と同じスレッドで実行するにはどうすればよいQTcpServerですか?

0 投票する
5 に答える
32949 参照

python - GUIでプロットする方法

作成した関数からのデータのプロットを作成するボタンをクリックしたときにmatplotlib/pylabウィンドウを表示する必要があるGUIを設計してPyQtいます。これは、Matlabで使用されるランタイムのようなものです。そのボタンを押すたびに、matplotlib/pylabウィンドウをウィンドウとして保持したいと思います。

0 投票する
2 に答える
4278 参照

c++ - QT: 複数のウィンドウ (QWidgets) を一度に開くには?

2 つの Webkit ウィンドウで 2 つの URL を同時に開く Web インターフェイス テスト プログラムを実行しています。

テスト自動化のコードは既に作成しました。

1) ユーザーが「Go」ボタンを押すと、Webkit (QWidget) ウィンドウが開きます

2) TestBot クラス オブジェクトがテストを実行する

3) クローズ

ここで私の質問:「Go」ボタンをクリックした後、2 つ (または 3 つ以上) の Webkit (QWidget) ウィンドウを開くにはどうすればよいですか?

マルチスレッドを調べる必要があることを理解しました。QThread を TestBot クラス定義に「class TestBot : public QThread」として継承する必要があると思いましたが、これは正しい解決策ですか? 次に何をしますか?

次のようにコードを書くことはできません:

すべてを並行して機能させるには?

私は Winapp の世界では初心者で、Web プログラミングから来ました。あなたの助けを願っています!

0 投票する
2 に答える
1955 参照

qt4 - QThread と GUI の相互作用

画像取得ソフトを開発しています。別のスレッドで表示機能を実行したい (画像を簡単にキャプチャできるようにライブ ビューを確保するため)。今のところ、QObject をサブクラス化し、DisplayObject を作成し、QThread::moveToThread 関数を使用しています。問題は、DisplayObject が GUI とやり取りする必要があることです (画像は QGraphicsView オブジェクトに表示する必要があります)。これを行うための最良の(そして最もエレガントな)方法は何ですか?

私の現在の解決策:

DisplayObject は次のように初期化されます。

私はそれがうまくいかないことを認めるのを忘れていました...