問題タブ [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 - Gtk2Hs: onEntryActivate は非推奨
Gtk2Hsのエントリに関するドキュメントにはonEntryActivate
、ユーザーが入力フィールド内で Enter キーを押したときにトリガーされる Event に関するエントリがあります。これは、ほとんどのエントリに必要なもののようです。では、なぜこれが非推奨セクションにあるのでしょうか?
haskell - gtk2hsのTextViewでカーソル位置を取得するには?
TextView
空でない が割り当てられていますTextBuffer
。
で現在のカーソル位置を取得する方法はTextView
? または、現在のTextIter
カーソルを取得する方法は?
haskell - Haskell & gtk2hs、ボタン アクティベート シグナルがバインドされていない
ラベルとアクションのリストからボタンを生成するのに問題があります。IO が評価されていないこと (「on button buttonActivated アクション」) に関係していると確信していますが、それを修正する方法はわかりません。
Button を生成するために使用する (Label, Command) タプルのリストがあり、関連付けられている IO () アクションです。
「on button buttonActivated アクション」を呼び出す関数が呼び出されますが、ボタンはまだクリックを登録しません。
どんな助けでも大歓迎です。ありがとうございました。
編集:
chi の回答に従って、ButtonInfo データ型を IO を実行しないように更新し、最終的に IO [ButtonInfo] になり、アクションをバインドできるようになりました。
改訂されたソース (作業中):
haskell - gtk2hs を使用して一部のコードをきれいにすることは可能ですか?
haskell と gtk2hs で GUI を開始しています。ノートブック ウィジェットがあり、「F1、F2 ... F11」キーでページを切り替えたいと考えています。
私の作業コードは次のとおりです。
それを行うためのより良い方法や簡潔な方法はありますか?「メイン」から処理しようとしましたが、「F1」しか機能しません。このボイラープレートを管理する方法がわかりません。
haskell - ステータスバーの改行
GTK ステータス バーを使用するプログラムがあり、複数行の出力が必要です。複数行を出力しようとすると、以下のように代わりにグリフが表示されます。
私はそれがemacsのように動作することを期待しています:
いくつかの検索の後、私が望んでいることを正確に行うように見えるlayoutSetSingleParagraphModeを発見しました。ほとんどのウィジェットのデフォルト設定は False であり、私たちはどこにも設定していないので、Statusbar はデフォルトでシングル パラグラフ モードになっていると思います。
私の問題は、この機能を使用できる場所Statusbar
に移動する方法がわからないことです。PangoLayout
最も近いのは、widgetGetPangoContextPangoLayout
を見つけて、layoutEmptyを取得できるようにすることでしたが、名前が示すように、これはPangoLayout
、操作時にステータスバーに影響を与えない別のものを作成するだけのようです。テキストのプッシュまたはポップは、これまでと同じように動作します。
不足している機能はありますか?確かにgtk2hs
、生成されたドキュメントの可読性に寄与しないオブジェクト指向をエミュレートするために型クラスの海を泳ぎます。それは単純な仕事であるべきだと思われます。
既存のウィジェットから取得するつもりがない場合PangoLayout
、どうすれば私が望むものを達成できますか? ステータスバーの作成時に段落モードを選択するオプションはないようです。
これに関連するこのプロジェクトの GitHub の問題については、これを参照してください。
haskell - Gtk2hs と Glade を使用した Haskell の BASE64 エンコーダーの GUI
次の問題があります。Gtk2Hs と Glade を使用して、Haskell で BASE64 Encoder の簡単な GUI を作成しようとしています。これは Haskell の BASE64 Encoder の例です。
この例の GUI を作成したいのですが、任意の値を入力してエンコードできるようにしたいと考えています。次のコンポーネントを含むテンプレートを作成済みです: - entry1 (エンコードする値を入力するため) - ボタン (生成を開始するため) - entry2 (生成された値を表示するため)
私のハスケルコード:
コンパイル時に次のエラーが表示されます
haskell - gtk2hs - Color を 16 進トリプレットに変換する
Haskell で gtk2hs を使用していますが、答えが見つからない問題に遭遇しました。
私は非常に単純なプログラムを書いています: それは色の値 (または複数の色の値) を取り、それらに関数を適用します。補色、色のセットの平均などを行うことができます。Glade でのインターフェイスの組み立てが完了し、gtk2hs の使用に関するいくつかの簡単なチュートリアルを読みました。これまでのところすべてが機能しており、プログラムを実行するとインターフェイスが表示されます。
ただし、私の問題はColorSelection
ウィジェットにあります。そこから値を取得すると、それが与える値はタイプColor Word16 Word16 Word16
であり、それぞれが0から65535の間です。私ができるようにしたいのは、理想的にはそれWord16
を16進数のトリプレットに変換することです。String
Hexトリプレットに変換できます。これまでのところ、色が HTML スタイルの rrggbb ではなく、rrrrggggbbbb として保存されているという事実と関係があるように思われることがわかりました。このコードを使用して、私が見つけたもの:
ほとんどの場合は正確ですが、カラー ピッカー ツールを使用すると、出力された色とは異なるように見える色を入力できます。たとえば、カラー ピッカーを使用して選択しました#A9D06E
が、関数は を返し"aa11 d12d 6e41"
ました。かなり近い関係ですが、関係を理解することはできません.この例では、赤のチャネルの丸めはどのように機能しますか? また、16 進数値#A9D06E
を直接入力すると、"a9a9 d0d0 6e6e"
.
Colour
Hoogle を使用して、 aを aに変換する関数String
、または aを他のものに変換する関数を見つけようとしました。またColour
、Hackage で Gtk パッケージのドキュメントを検索しましたが、私が望んでいたことを行うものは何も見つかりませんでした。Colour
私もインターネットを検索しましたが、タイプの扱いについてはあまり見つかりませんでした。ここの下部にある、まさに私が望んでいたことを行うための関数が1つ見つかりました。ただし、これには同じ問題があり、カラー ピッカー自体が特定の選択に対して与えた値と同じ値を与えません。
更新 1
また、値をビットシフトしてみました。ほとんどの場合、8 ビットでシフトすると正しい値が得られますが、私が試した他のことによると、わずかにずれていることがよくあります。
haskell - HaskellのgtkImageでRepa-DevILから画像を表示する方法
私はHaskellで画像処理プログラムに取り組んでいます。Repa-DevIL ライブラリは、画像処理に適したライブラリです。ただし、処理中の画像をリアルタイムで表示できる GUI が必要です。gtkImage を使用して Repa.Array タイプの画像を表示するにはどうすればよいですか?