2011-07-06 13 views
1

アプリケーション用のプラグインを作成しています。ユーザーにデータを要求するために、GUIを応答し続ける必要があるためスレッドを作成する必要があります私の機能のいずれかを長時間呼び出す。別のスレッドからGUIを作成することをサポートするGUIライブラリ

私が知っているほとんどのGUIライブラリ(wxWidgets、Qt)は、別のスレッドからGUIを作成することをサポートしていないようです。時にはそれを達成するためのトリックがありますが、それは移植性も保証もありません。

私は、正式に別のスレッドからGUIを起動することをサポートしているGUIライブラリを検討しています。このプロジェクトの唯一の条件は、Windows、Linux、Macへの移植性とCインタフェースの公開です。軽量化のためのボーナスポイント。

+0

ここでたくさんお尋ねしています。通常の解決策は、メインスレッドからUIを実行し、ワーカーで長時間実行されるタスクです。あなたはこれを知っていると確信しています。なぜあなたの問題のために働くことができないのですか? –

+0

Tkはどうですか?メッセージキュー内でコマンドを実行するのは簡単です。 – whoplisp

答えて

0

ほぼすべてのGUIライブラリは、基本となるオペレーティングシステムのAPIに依存して動作します。要件に「クロスプラットフォーム」を使用すると、3つの異なるプラットフォームのサポートに頼らざるを得なくなるため、これはさらに厳しくなります。

このように、すべての(合理的な)GUIライブラリにスレッド親和性があることがわかります。

ほとんどのライブラリは他のスレッドから作業を作成することをサポートしており、バックグラウンドスレッドはメインUIスレッド上にUIが表示されている間に「処理」を行います。あなたのUIではなく、バックグラウンドスレッドでの操作を可能にするために、デザインを見直すことをお勧めします。

+0

私はアプリケーションを設計しませんでした。幸いにもオープンソースだが、私のケースは非常に特殊なので、他の開発者が必要な変更を行うことに同意するとは思えない(多分そうかもしれない)。 – dprogramminglanguagedisposable

+0

@ dprogramminglanguagedisposable:あなたはこのように動作するようにあなたの部分を設計することができます - 他のアプリケーションがこれを念頭に置いて設計されていなくても... –

関連する問題