問題タブ [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.
haskell - cabal 経由で Haskell 用のグレード ライブラリをインストールする際のエラー
Ubuntu 11.10 (7.0.3) で配布されている GHC の最新バージョンを使用しています。
グレードをインストールしようとすると、次のようになります。
gtk2hs-buildtools と gtk は cabal 経由で正常にインストールされました。しかし、空き地はインストールされません。これはバグですか?
haskell - gtk2hsC2hsをアップグレードする方法は?
私はcabal install glib-0.12.3
、cabal-install0.10.2を使用してUbuntu11.10で試しています。ただし、次のエラーメッセージが表示されます。
30分ほど検索したところ、これがどこにあるのかわかりませんgtk2hsC2hs
。http://code.haskell.org/gtk2hs/tools/c2hs/のような場所を掘り下げましたが、正しいバージョンを見つけることができなかったようです。
gtk2hsC2hsをアップグレードするにはどうすればよいですか?ありがとう!
haskell - Gladeで作成したメニューをgtk2hsで使用することはできますか?
gtk2hsアプリケーションでGladeを使用して作成されたメニューがあります。Haskellコードでこれを使用して、アクティブ化された各メニュー項目のアクションを記述できますか?実例として使用できるハッキングに関する簡単な例やプロジェクトはどこかにありますか?
私が見つけた唯一のメニュー例http://www.muitovar.com/gtk2hs/chap7-1.htmlは、GtkBuilderXMLでの作業に役立たないようです。
haskell - 誰かがgtk2hsのドラッグアンドドロップについて説明してもらえますか?listDND.hsデモは私のためにそれを行っていませんか?
タイトルにあるように、私はDNDを取得できません(つまり、概念を理解し、コールバックの順序を理解しています。実際の使用のためにDNDを設定する方法を理解していません)。以前にCでDNDの作業を行ったことがありますが、実際にそれが機能することはなかったことを考えると...
だから私はテキストエディタを書こうとしています(そしてほとんど成功しています、DNDを保存します)(コードハイライトが組み込まれているのでgtksourceviewを使用します)。必要に応じて理由を以下に示します。とにかく、gtk2hsで利用できる優れたDNDデモやチュートリアルは実際にはありません(listDND.hsは私の頭の中でうまく翻訳されません)。したがって、私が求めているのは、ウィンドウウィジェットで単純なDNDを示すコードです(たとえば。 )理想的には、他のウィンドウ(Thunarなど)からのドロップを受け入れ、情報を文字列形式で出力する必要があります。私はそこからそれを取ることができると思います...
理由:かなり軽量なセットアップ、dwm、およびいくつかのgtk+2プログラムを実行しています。リポジトリから現在のgeditを取得するためにgtk+3を取り込む必要は本当にありません(Arch Linux)。現在、テキスト編集のすべてのニーズにgeanyを使用していますが、geanyは少し重いです。構成ファイルの編集。さらに、geanyは私の選択した端末(st;)を気にしないので、IDEとして使用するメリットすらありません。意味構文を強調表示した軽量のテキストエディタが欲しいのですが。emacsやvimなどを設定することもできますが、それは適切な解決策というよりはハックのようです。このようにして私のプロジェクトが生まれました。それはほとんど機能しています(DNDを除いて、残っているのは適切なマルチタブのサポートだけです)。確かに、Cで書いた場合はおそらくこれを解決できますが、ありません。
gtk2hs - EventMはGtk2Hでどのように機能しますか?
Gtk2Hsバインディングを使用する小さなHaskellプログラムがあります。DrawingAreaをクリックすると、プログラムのウィンドウにポイント(小さな正方形)を描くことができます。
試行錯誤の方法で、Hackageのドキュメントを読んだ後、ウィジェットはデフォルトでこのイベントのシグナルを提供しないため、ボタンを押すイベントを描画領域に追加することができました。ただし、EventMの定義と使用法がわからないため、ウィジェットに新しいイベントを再度追加する必要がある場合は、EventMモナドと格闘する必要があります。私はまだHaskellに十分な能力を持っていないと言わなければなりません。単純なモナドがどのように機能するかはある程度理解していますが、この1つの「typeEventM ta = ReaderT(Ptr t)IO a」(Graphics.UI.Gtk.Gdk.EventMで定義)は私には不思議に思えます。
私の質問は:誰かがEventMモナドの内部を説明してもらえますか?たとえば、「buttonPressEvent :: WidgetClass self => Signal self(EventM EButtonBool)」の場合です。
haskell - gtk2hsとgladeを使用したhaskellのGUI
私はgtk2hsとgladeを使用してGUIを作成し、main::IO()
. 次に、ウィンドウのラベル、ボタン、およびエントリ テキストのコーディングを行います。例えば、
次に、適用ボタンをクリックした後
変数に値を渡しました
次に、このように数値を二乗する関数を書きました
mainGUIの後。
うまくいかない!!!!!!!!
として動作するはずです
I/p: GUI でユーザーから番号を取得する
o/p: GUI に表示される数値の 2 乗
combobox - gtk2hs の ComboBox、空き地
次のように、空き地とコードを使用してウィンドウ、コンボボックス、ボタンを作成しました。
ComboBox からオプションを選択してアクション ボタンをクリックすると、次のエラー メッセージが表示されます UI.exe: user error (Pattern match failure in do expression at gtk\Graphics\UI\G tk\MenuComboToolbar\ComboBox.chs.pp: 244:2-13)
ComboBox からオプションを選択したときにアクションを実行するには、別の関数が必要ですか? 私を助けてください!!
haskell - Gtk2Hsでアプリケーションの状態を処理する方法
Gtk2Hを使用してアプリケーションを作成する方法を学ぼうとすると、イベント駆動型Gtk2HSとモデルの永続的な状態との間のギャップを埋めるのが困難になります。簡単にするために、私はこの単純なアプリケーションを持っているとしましょう
私のアプリケーションの状態は、ボタンが押された回数です。このような他の投稿を見ると、MVarまたはIORefに依存していますが、これは私には満足のいくものではないようです。将来、コードをリファクタリングして、状態が独自のコンテキストで動作するようにするためです。
ソリューションでは、次のようなステップ関数を使用してStateモナドを使用する必要があると思います。
しかし、その意味、上記のコードでそれを行う方法、またはそのモナドが私の問題の正しい解決策であるかどうかについてはわかりません。
haskell - Haskell 型をより一般的な型に強制する方法
次のコードを GHC から取得するのに苦労しています。
一見 Gtk2hs の質問のように見えますが、実際には Haskell 型システムに関するものです。
このコードを GHC でコンパイルしようとすると、次のエラー メッセージが表示されます。
のタイプcontainerGetChildren
は次のとおりです。
Widget
型自体が のインスタンスであるため、関数の戻り値の型をのインスタンスとして指定WidgetClass
できない理由がわかりません。getFirstChild
w2
WidgetClass
のようなものを使わずに Haskell でこれを表現する方法はありunsafeCoerce
ますか?
ティア