GtkButtonBox って何に使うか解らなかった。
検索したら面白そうなのを見つけた。
PHP-GTK по-русски: Группирование кнопок
ドメインは jp だけど思いっきりロシア語なのは何故だろう。
モチロン読めないけど PHP-GTK コードはアルファベットなので解る。
PHP-GTK って使っている人がいるんだな…
GTK_BUTTONBOX_DEFAULT_STYLE って定義は無いんだけど。
デフォルトを調べたら EDGE だった、EDGE とたしかに見た目は同じだね。
つかこのコードだと hbox_main っていらなくね?
それと GtkHButtonBox も GtkHBox 同様に非推奨なのね。
Gtk.ButtonBox.new(Gtk.Orientation.HORIZONTAL) でいいみたい。
その辺りを考慮して PyGI で書き換えるとこんな感じか。
#!/usr/bin/env python #-*- coding:utf-8 -*- from gi.repository import Gtk window = Gtk.Window() window.set_position(Gtk.WindowPosition.CENTER) window.set_size_request(450, -1) window.connect('destroy', Gtk.main_quit) vbox = Gtk.Box.new(Gtk.Orientation.VERTICAL, 0) dic = { 'Spread': Gtk.ButtonBoxStyle.SPREAD, 'Edge(Default)': Gtk.ButtonBoxStyle.EDGE, 'Start': Gtk.ButtonBoxStyle.START, 'End': Gtk.ButtonBoxStyle.END, 'Center': Gtk.ButtonBoxStyle.CENTER } for key, value in dic.iteritems(): box = Gtk.ButtonBox.new(Gtk.Orientation.HORIZONTAL) box.set_layout(value) box.add(Gtk.Button.new_from_stock(Gtk.STOCK_YES)) box.add(Gtk.Button.new_from_stock(Gtk.STOCK_CANCEL)) box.add(Gtk.Button.new_from_stock(Gtk.STOCK_NO)) frame = Gtk.Frame.new(key) frame.set_shadow_type(Gtk.ShadowType.IN) frame.add(box) vbox.pack_start(frame, False, False, 5) window.add(vbox) window.show_all() Gtk.main()
右寄せとか完全等間隔とか色々指定できるんだね。
なるほど、使い道は微妙だけどこんなコンテナもあるということで。