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()
右寄せとか完全等間隔とか色々指定できるんだね。
なるほど、使い道は微妙だけどこんなコンテナもあるということで。

