問題タブ [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.
glade - 空き地によるラジオボタンのグループ化
gtk2hsバインディングを備えたエディタGladeを使用して、HaskellでGUIをプログラミングしています。現在、ラジオボタンのグループ化に惨めに失敗しています。グループ名を選択できません。誰か助けてくれませんか?
user-interface - Haskell (gtk2hs) GUI の構造化
私は Gtk2H で中規模の GUI を構築しようとしていますが、システムを構築する最善の方法が何であるかはよくわかりません。サブコンポーネントを個別に開発し、一般的に後で髪を引っ張らないような構造になる方法を探しています。
主な問題は、API が継続ベースであるカメラなどのコンポーネントによって引き起こされます (つまり、カメラを使用してブロックを でラップする必要がありますwithVideoMode :: Camera Undefined -> (Camera a -> IO ()) -> IO ()
)。これらも分離したいのですが、これを行うための合理的な方法が見つかりません。
追加する必要があるほとんどのコンポーネントには、カメラ パラメーターの設定やウィジェットの構築などの初期化、他のコンポーネントによってトリガーされるイベントのキャッチ、ハードウェアの切断などのクリーンアップが最後に必要です。
これまでのところ、私はContT
cps パーツに使用し、コンポーネントにスナップレットのようなものを使用して、それらをState
どこかに隠すことを考えていました。gtk2hs コールバックでトランスフォーマーをエレガントに使用できないため、1 つ目は非常に重く、2 つ目は厄介に見えます。
(なんらかの理由で、今日は要旨が機能しないため、ここに巨大なコード全体を投稿して申し訳ありません)
haskell - gtk2hsパッケージの構築中に「外部宣言の許容できない結果タイプ:CULong」エラーを修正するにはどうすればよいですか?
gtk Haskellパッケージをghc-7.6.1でコンパイルしようとすると、次のエラーが発生します(依存関係の1つであるpangoをビルドしようとすると、他の依存関係パッケージでも手動でインストールしようとすると発生します)。
以前に古いバージョンのgtk2hsをインストールしたので、これはアップグレード中に発生します。
どうすればエラーを修正できますか?
haskell - 選択したテキストを置き換え、新しいテキストを選択します
私は Gtk2H を使用していますが、この GTK はすべて初めてのことです。私はで働いていTextView
ます。現在選択されているテキストを新しいテキストに置き換え、新しいテキストを選択したいと考えています。私が思いついた最も近いものは次のとおりです。
選択を設定するために私が見つけた唯一の関数は、TextIter
sではなくTextMark
sを必要とします。しかし、TextMark から TextIter を取得する関数を見つけることができませんでした。これは正しい手順ですか?
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 のように見えます。
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" []
しかし、それはうまく印刷されます。
何か案は?
haskell - Haskell GTK と Monad トランスフォーマー
私は UI を使用してアプリケーションを作成しており、 aStateT
および a ReaderT
overIO
にあるコードを実行する必要があります。UI に使用Graphics.UI.Gtk
していますが、次の問題があります。
特定のボタンをクリックすると、署名を持つ関数が呼び出される必要があります
しかし ではGTK
、clickedOn
関数ではIO ()
引数を取ります:
どうすればこのclickedOn
関数を「だます」ことtryAttack
ができますかIO ()
。
明らかにtryAttack
コードは一時的なものです。
haskell - 状態モナドと gtk2hs
ユーザー入力から値のリストを作成できるように、GUI アプリケーションの状態を保持しようとしています。しかし、私は State モナドを理解するのに苦労しているので...
ここに私が望むものを説明するためのいくつかのテストコードがあります(コンパイルしようとさえしていないことは明らかです):
とにかく、State の代わりに StateT を使用する必要があると思いますが、頭の中が完全に混乱しています (非常に多くのチュートリアルを読んでいます...)。動いたとしても、ループごとに初期状態を [] にしているからダメ。問題は、更新ボタンが押されるたびにユーザー入力が何らかの状態 (以前の入力のリスト) に追加されるように、関数 addToList をどのように記述すればよいかということです。
haskell - GTK2HS が最近の cabal バージョンでインストールに失敗する
うまくいけばgtk2hsを使用する新しいプロジェクトを開始しています。ただし、このパッケージをかなり一般的な Linux ボックスにインストールすることはできません。ここに失敗があります:
以前は機能していたので、最近のカバルのバージョンに関連しているようです。既知のバグのようです ( http://trac.haskell.org/gtk2hs/ticket/1292、http://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
ご協力いただきありがとうございます