問題タブ [gtk2hs]

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 投票する
2 に答える
2389 参照

glade - 空き地によるラジオボタンのグループ化

gtk2hsバインディングを備えたエディタGladeを使用して、HaskellでGUIをプログラミングしています。現在、ラジオボタンのグループ化に惨めに失敗しています。グループ名を選択できません。誰か助けてくれませんか?

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

user-interface - Haskell (gtk2hs) GUI の構造化

私は Gtk2H で中規模の GUI を構築しようとしていますが、システムを構築する最善の方法が何であるかはよくわかりません。サブコンポーネントを個別に開発し、一般的に後で髪を引っ張らないような構造になる方法を探しています。

主な問題は、API が継続ベースであるカメラなどのコンポーネントによって引き起こされます (つまり、カメラを使用してブロックを でラップする必要がありますwithVideoMode :: Camera Undefined -> (Camera a -> IO ()) -> IO ())。これらも分離したいのですが、これを行うための合理的な方法が見つかりません。

追加する必要があるほとんどのコンポーネントには、カメラ パラメーターの設定やウィジェットの構築などの初期化、他のコンポーネントによってトリガーされるイベントのキャッチ、ハードウェアの切断などのクリーンアップが最後に必要です。

これまでのところ、私はContTcps パーツに使用し、コンポーネントにスナップレットのようなものを使用して、それらをStateどこかに隠すことを考えていました。gtk2hs コールバックでトランスフォーマーをエレガントに使用できないため、1 つ目は非常に重く、2 つ目は厄介に見えます。

(なんらかの理由で、今日は要旨が機能しないため、ここに巨大なコード全体を投稿して申し訳ありません)

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

haskell - gtk2hsパッケージの構築中に「外部宣言の許容できない結果タイプ:CULong」エラーを修正するにはどうすればよいですか?

gtk Haskellパッケージをghc-7.6.1でコンパイルしようとすると、次のエラーが発生します(依存関係の1つであるpangoをビルドしようとすると、他の依存関係パッケージでも手動でインストールしようとすると発生します)。

以前に古いバージョンのgtk2hsをインストールしたので、これはアップグレード中に発生します。

どうすればエラーを修正できますか?

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

haskell - 選択したテキストを置き換え、新しいテキストを選択します

私は Gtk2H を使用していますが、この GTK はすべて初めてのことです。私はで働いていTextViewます。現在選択されているテキストを新しいテキストに置き換え、新しいテキストを選択したいと考えています。私が思いついた最も近いものは次のとおりです。

選択を設定するために私が見つけた唯一の関数は、TextItersではなくTextMarksを必要とします。しかし、TextMark から TextIter を取得する関数を見つけることができませんでした。これは正しい手順ですか?

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

haskell - この最小限の Gtk2Hs プログラムでメモリ リークが発生するのはなぜですか

Win32 と Win64 で GHC 7.4.2 と GtkHs 0.12.4 を使用すると、このプログラムはますます多くのメモリを消費し、私のマシンでは約 2Mb/秒を消費します。私は単に Gtk を使用してアニメーションを作成しようとしています (これが、ウィンドウを無効にしてすぐに再描画される理由です)。

RTS オプションを使用してメモリ使用量をプロファイリングしようとしましたが、このメモリは表示されません。

何が起こっている ?

-- 編集:ここで見つかったバージョンの Gtk を使用していますが、たまたま 2.24.10 です。

widgetQueueDraw-- Edit2: したがって、公開イベントから要求する代わりに外部タイマーを使用すると、問題が解決します。今のところはうまくいきますが、理由がわかりません。いくつかの GUI フレームワーク (ペイント イベントで GUI コントロールを無効にする) を使用して、いくつかの言語でこのアプローチを使用しました。通常、invalidate を呼び出すと、次に GUI スレッドが起動したときに読み取られるフラグが設定されるだけです。これは、GUI スレッドがフレームごとにコントロールを再描画することになりますが、実際にはそれがここで必要なことです。Gtk2Hs のように見えます。

0 投票する
0 に答える
112 参照

haskell - gtkを使用したhaskellのtextBufferSetViewのバッファサイズの制限は何ですか?

バッファサイズは?取り込むバッファを設定できます

VC "短所" [VC "Z" [],VC "短所" [VC "S" [VC "Z" []],VC "短所" [VC "S" [VC "S" [VC "Z" [ ]]],VC "短所" [VC "S" [VC "S" [VC "S" [VC "Z" []]]],VC "短所" [VC "S" [VC "S" [VC "S" [VC "S" [VC "Z" []]]]],VC "短所" [VC "S" [VC "S" [VC "S" [VC "S" [VC "S" [ VC "Z" []]]]]],VC "短所" [VC "S" [VC "S" [VC "S" [VC "S"] [VC "S" [VC "S" [VC "Z] " []]]]]]],VC "短所" [VC "S" [VC "S" [VC "S" [VC "S" [VC "S" [VC "S" [VC "S"] VC「ズ」[]]]]]]]],VC "短所" [VC "S" [VC "S" [VC "S" [VC "S" [VC "S" [VC "S" [VC "S"] VC "S" [VC "Z" []]]]]]]],VC "ゼロ" []]]]]]]]]] VC "短所" [VC "Z" [],VC "短所" [VC "S" [VC "Z" []],VC "短所" [VC "S" [VC "S" [VC "Z" []]],VC "短所" [VC "S" [VC "S" [VC "S" [VC "Z" []]]],VC "短所" [VC "S" [VC "S" [VC "S" [VC "S" [VC "Z" [] ]]]],VC "短所" [VC "S" [VC "S" [VC "S" [VC "S" [VC "S" [VC "Z" []]]]]],VC "短所」 [VC "S" [VC "S" [VC "S" [VC "S"[VC "S" [VC "S" [VC "Z" []]]]]]],VC "短所" [VC "S" [VC "S" [VC "S" [VC "S" [VC "S" [VC "S" [VC "S" [VC "Z" []]]]]]],VC "短所" [VC "S" [VC "S" [VC "S" [VC " S" [VC "S" [VC "S" [VC "S" [VC "S" [VC "Z" []]]]]]]],VC "Nil" []]]]]]] ]]]S" [VC "Z" []]]]]]]]],VC "無" []]]]]]]]]]S" [VC "Z" []]]]]]]]],VC "無" []]]]]]]]]]

表示されず、代わりにかなり大きな青い画面が表示されます。これは非常に奇妙な動作です。

VC "True" []しかし、それはうまく印刷されます。

何か案は?

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

haskell - Haskell GTK と Monad トランスフォーマー

私は UI を使用してアプリケーションを作成しており、 aStateTおよび a ReaderToverIOにあるコードを実行する必要があります。UI に使用Graphics.UI.Gtkしていますが、次の問題があります。

特定のボタンをクリックすると、署名を持つ関数が呼び出される必要があります

しかし ではGTKclickedOn関数ではIO ()引数を取ります:

どうすればこのclickedOn関数を「だます」ことtryAttackができますかIO ()


明らかにtryAttackコードは一時的なものです。

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

haskell - 状態モナドと gtk2hs

ユーザー入力から値のリストを作成できるように、GUI アプリケーションの状態を保持しようとしています。しかし、私は State モナドを理解するのに苦労しているので...
ここに私が望むものを説明するためのいくつかのテストコードがあります(コンパイルしようとさえしていないことは明らかです):

とにかく、State の代わりに StateT を使用する必要があると思いますが、頭の中が完全に混乱しています (非常に多くのチュートリアルを読んでいます...)。動いたとしても、ループごとに初期状態を [] にしているからダメ。問題は、更新ボタンが押されるたびにユーザー入力が何らかの状態 (以前の入力のリスト) に追加されるように、関数 addToList をどのように記述すればよいかということです。

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

haskell - GTK2HS が最近の cabal バージョンでインストールに失敗する

うまくいけばgtk2hsを使用する新しいプロジェクトを開始しています。ただし、このパッケージをかなり一般的な Linux ボックスにインストールすることはできません。ここに失敗があります:

以前は機能していたので、最近のカバルのバージョンに関連しているようです。既知のバグのようです ( http://trac.haskell.org/gtk2hs/ticket/1292http://trac.haskell.org/gtk2hs/ticket/1291およびhttp://trac.haskell.org/ gtk2hs/ticket/1289 )、しかし、何週間も動いていません。私は適切な修正を提案する能力が十分にないので、アドバイスをお願いします。私はこの重要なプロジェクトに行き詰まっているので、これは非常に厄介です。私たちの言語のメインの GUI ライブラリが何週間も壊れていると思うと心が痛みます。

Cabal ライブラリのバージョン 1.18.1.1 を使用してバージョン 1.18.0.2 を cabal-install / ghc 7.4.1

ご協力いただきありがとうございます