問題タブ [gtkd]

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 に答える
327 参照

gtk - 一度に多数のテキストビューを追加する場合のgtkdパフォーマンスの問題

これは、問題を説明するための最小限の例です。ボタンをクリックすると、500個のTextViewオブジェクトが追加され、それぞれにテキストが含まれます。実際に発生するのは、短い遅延があり、500個の空のTextViewが追加され、はるかに長い遅延があり、その後、すべてのテキストが一度に入力され、レイアウト自体が適切にサイズ設定されます。以下のコード:


編集このスレッドは、一連のテキストビューの作成には本質的にコストがかかるため、ツリービューを使用して書き直す必要があることを示唆しています。

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

gtk - gtkentryフォーカス動作

次のキーで上書きする内容を選択するのではなく、フォーカスされたときにGtkEntryがテキストの最後にカーソルを置くだけの既存のメカニズムはありますか?この基本的なことを行うためにシグナルハンドラーを追加する必要があるのは奇妙に思えますが、プロパティに何も見つかりません。

編集:シグナルハンドラーは機能しません。私が行うことは何でも、ハンドラーの実行後にデフォルトの動作がトリガーされます。これが私のgtkdコードです。focus-in-eventハンドラーにテキストを追加していることに注意してください。追加されたテキストも選択されます。

メソッドはaddOnFocusIngtkdGtk.Widgetapiにあります。それはg_signal_connect_data内部的に呼び出します、それは理論的にG_CONNECT_AFTERは私がそれを渡すフラグを尊重するはずですが、そうではないようです。

Edit2:解決済み-grab-focusハンドラーはテキスト選択を行っていて、その後処理されていましたfocus-in-event

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

d - GtkD (D 言語の Gtk+バインディング) をコンパイルする理由は?

私は最近、D プログラミング言語で GtkD を使用してネイティブ アプリケーションを作成しています。必要なファイルをすべてダウンロードし、すべて実行したので、サンプル アプリをコンパイルして作成できます。

私の質問は、一部のガイドでは、使用しているプラ​​ットフォームで GtkD をコンパイルするように指示されているということですが、ポイントは何ですか? コンパイルすると、Windows では 1 つの lib ファイル (GtkD.lib)、Linux では 3 つの lib ファイル (末尾が *.a) になります。これらのファイルは何のためにあり、どのように使用されますか? 私が言ったように、これらのファイルで何もしなくてもすべてが機能しているようです。

これらを静的にリンクできると思いますか?しかし、それは何のためですか?毎回 GtkD ソースをコンパイルするのを避けるには? 私は実際にステートメントを使用してそれを試しpragma('lib', 'GtkD.lib')ましたが、何もしなかったようです。

誰でもこれに光を当てたり、これらのファイルが必要な理由を説明したりできますか?

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

static-libraries - LinuxでGtkDを使用して、コンパイルされたライブラリを静的にリンクするにはどうすればよいですか?

これは、ここでこの質問にリンクされています:GtkD(D言語のGtk +バインディング)なぜそれをコンパイルするのですか?

Ubuntu 12.04でDプログラミング言語でGtkDを使用していますが、コンパイルされたライブラリをプログラムに静的にリンクしようとして立ち往生しています。GtkDがコンパイルされると、3つのライブラリがあります

  1. libgtkd.a
  2. libgtkdgl.a
  3. libgtkdsv.a

これらを実行した後、make installこれらは/usr/local/lib/フォルダーに配置され、GtkDソースは/usr/local/includes/d/フォルダー内に配置されます。また、ソースをファイルにコンパイルし、makeスクリプトがデフォルトでこれを行わないため、*.diそれらを関連するフォルダーに配置しました。/usr/local/includes/d/

これが私がコンパイルしたいソースです。

これが私が使用するコンパイラコマンドです:

エラーは次のとおりです。

私が間違っていることについて何か考えはありますか?ldエラーのように見えますが、それは正しくリンクされていますか?

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

d - GtkD SourceView コードをコンパイルできません

私は gtk プログラミングと d が初めてで、gtkd ソースのデモを使用して学習しています。以下のコードをコンパイルしようとすると [archlinux で dmd-2.060 と gtkd-2.0 を使用しています]。

このようなエラーが発生します

しかし、SourceView関連のコードにコメントを付け、 TextView関連のコードのコメントを外すと、コンパイルして正常に実行されます。

注: このコードは、sourceView gtkd demos ディレクトリの SVTest.d ファイルからのものです。

編集:私はコンパイルするためにdmd SVTest.dを行っていましたが、そのエラーが発生しました .dmd -L-ldl -L-lgtkd -L-lgtkdsv SVTest.dを実行しましたが、正常にコンパイルされました。プラグマ ステートメントを削除し、コンパイラ フラグを使用してコンパイルしようとすると失敗します。私はここで少し混乱しています.D docは、プラグマは情報をコンパイラに渡すためのものだと言いました! ソース コードをコンパイルするには、プラグマ フラグとコンパイラ フラグの両方が必要ですか? または私は何か間違ったことをしていますか?

更新:実際、プラグマの順序は重要でした。プラグマをこれに変更しました

今、私はただすることができます

もともとやりたかったこと。

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

user-interface - GtkDのMainWindowsshow()メソッドとshowAll()メソッドの違いは何ですか?

これが私のテストです:

置き換えるMain.show()Main.showAll()期待どおりに機能しますが、どちらの関数のドキュメントもここにありません:http ://api.gtkd.org/src/gtk/MainWindow.htmlこれら2つの方法の違いは何ですか?ドキュメントを見つけましたか?

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

events - タブとその内容に触れることなく、ノートブックでマウスプレスイベントをキャッチします

Funtoo LinuxのgtkDでプログラミングしています。Notebookで マウス プレス イベントをキャッチしたいが 、タブとその内容には触れたくない。 私は function: addOnButtonPress () in Notebookを使用 していますが、その後はタブを並べ替えることができません (以前は yesでした)。 または同様に、子に触れずに、選択したウィンドウ/ウィジェットでのみマウスイベントをキャッチする方法。 助けてくれてありがとう。





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

events - GtkD を使用したキー入力

私は gtk と GtkD の両方の初心者です。今、これ
を参照してキーボードから入力を取得しようとしています。 しかし、Toolkits には 3 年間でいくつかの変更が加えられたようです。 以下にコードを書きました。しかし、コールバック関数でevの値がおかしくなりました。

一人で行っても解決の目処は立たなかった。
では、どこを修正すればよいか教えていただけますか?

事前に感謝します。また、私の下手な英語での患者にも感謝します。


私は gtkD-2.1.1 と gtk+3.2.3 を使用しています。
これは完全なコードです:

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

d - D 言語は Gtk で動作します

問題がありgtkます:

  1. 私はgitから複製しました:https://github.com/gtkd-developers/GtkD.git
  2. make & sudo make install
  3. -I/usr/local/include/dに追加/etc/dmd.conf
  4. dmd main.d

コード:

エラーが発生します: