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 で書き換えるとこんな感じか。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | #!/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() |
右寄せとか完全等間隔とか色々指定できるんだね。
なるほど、使い道は微妙だけどこんなコンテナもあるということで。