GtkがすべてのTreeViewのようなウィジェットで使用する「クイック検索」エントリに似たカスタムウィジェットを作成しようとしています。
これが私の最初のアイデアの簡単な例です:
from gi.repository import Gtk
class QuickSearch(Gtk.Bin):
def __init__(self, *args, **kwargs):
super(QuickSearch, self).__init__(*args, **kwargs)
self.add(Gtk.Entry())
win = Gtk.Window()
win.connect("delete-event", Gtk.main_quit)
search = QuickSearch()
win.add(search)
win.show_all()
Gtk.main()
問題は次のとおりです。
- この例のように、単独で使用すると、カスタムウィジェットにスペースが割り当てられているように見えますが
GtkEntry
、画面に表示されません。GtkEntry
とカスタムウィジェット(hexpand、vexpand、margins、alignsなど)のプロパティのさまざまな組み合わせを試しましたが、役に立ちませんでした。 - 他のウィジェットと組み合わせると、ウィジェットに割り当てられた高さをインタラクティブに照会すると、明らかに1になります。画面上では、ウィジェットは事実上表示されません(他のウィジェット間で多少「押しつぶされている」ため)。
それで、オブジェクトの初期化に欠けているものがありますか、それともこのカスタムウィジェットをどのように使用していますか?これは固有の問題GtkBin
ですか?で同じことを試してみましたが、問題なく動作しますが、この特定のウィジェットに適しているGtkBox
と思います。GtkBin