2016-04-26 8 views
0

、多くのブラウザのようなビットで他のウィジェットを検索またはプロトコルセキュリティ「チップ」でない埋め込み:Left hand side of Chromium search bar私はGTK + 3テキスト入力ボックスの一方の端に別のウィジェットを埋め込むしたいGTK +テキスト入力

私は私はこれはまだサイズをアイコンに私を制限し、私自身GdkPixbufset_icon_from_pixbufに合格した場合でも

entry = Gtk.Entry() 
entry.set_icon_from_icon_name(Gtk.EntryIconPosition.PRIMARY, icon_name) 

、私は(少なくとも水平方向)いくつかの任意のサイズにしたいときに応じてテキスト入力のアイコンを設定することができます知っています」 「チップ」コンテンツを提供する。

また、テキストをset_margin_leftで "シャント"しようとしましたが、ボックス内のテキストではなく、入力ボックス全体の左端を移動しました。

テキスト入力内で他のGTK +ウィジェットを埋め込む効果的な方法は何でしょうか(どんなに複雑なこともありますので、私はチップをよりインタラクティブにすることができます)?

+1

libgdから[GdTaggedEntry](https://git.gnome.org/browse/libgd/tree/libgd/gd-tagged-entry.c)でどのように行われているかを見てください。これは、ノーチラス3.20の新しい検索で使用されます。また、それを使用しようとすることもできますが、最初にコンパイルする必要があります。そのため、[gnome-music](https://git.gnome.org/browse/gnome-music/tree)のソースコードはlibgdも使用していて、Pythonで書かれているので興味深いかもしれません。 – elya5

+0

あなたはまだこれに関する助けを探しているのですか、それを理解しましたか? – andlabs

答えて

1

エントリをフレームの中に入れ、エントリ内にあるように見せかけるように書き直してみましたか?次に、標準のコンテナを使用して、必要なテキスト入力スペースの隣に任意のウィジェットを配置することができます。

「アイコン」をクリックしても自動的にエントリがフォーカスされるわけではありませんが、そのアクションは完全に構成可能です。

+0

私はそれを検討していましたが、まだ値引きしていませんでしたが、実際にはテキストの左側に少し余分なスペースが必要なときに、見た目と見た目のウィジェットを "偽造"しました。 – Inductiveload

+2

実際はありません。 'gtk_style_context_add_class()'を使って 'entry'クラスを追加するだけです。 (これはebassiが示唆しているものです)後で説明するための簡単なサンプルプログラムを書くかもしれません。 – andlabs

2

GtkEntryはコンテナではないため、子ウィジェットを持つことはできません。

スクリーンショットに表示されている内容を実装する適切な方法は、別のコンテナを使用して適切にスタイルを設定することです。

関連する問題