如何设置 Gtk ButtonBox child 的最小尺寸?
How do I set the minimum size of a Gtk ButtonBox child?
我正在尝试设置此 GtkButtonBox 中按钮的最小尺寸。目前它们似乎是固定的 - 我认为大约 85 像素。
这可能吗?
如果不是,在 Gtk 中是否有另一种方法让两个小按钮像上图那样依偎在一起,而不是让它们看起来像两个单独的按钮?例如 GtkStackSwitcher 可能是我可以使用的东西,但似乎没有办法响应按钮的点击事件。
我用这个测试程序创建了上面的(Ubuntu 14.04,Gtk+3.10 和 Python3):
from gi.repository import Gtk
import sys
class MyWindow(Gtk.ApplicationWindow):
def __init__(self, app):
Gtk.Window.__init__(self, title="example", application=app)
self.set_default_size(350, 200)
self.set_border_width(10)
hbox = Gtk.ButtonBox.new(Gtk.Orientation.HORIZONTAL)
hbox.set_layout(Gtk.ButtonBoxStyle.EXPAND)
button = Gtk.Button(label="a")
hbox.add(button)
button2 = Gtk.Button(label="b")
hbox.add(button2)
self.add(hbox)
class MyApplication(Gtk.Application):
def __init__(self):
Gtk.Application.__init__(self)
def do_activate(self):
win = MyWindow(self)
win.show_all()
def do_startup(self):
Gtk.Application.do_startup(self)
app = MyApplication()
exit_status = app.run(sys.argv)
sys.exit(exit_status)
关于我使用的桌面环境的问题。
我已经尝试过 Mate、Unity 和 Gnome-Shell。所有的工作方式相同。我已经删除了标题和那些控件。仍然发生同样的事情。在我看来,这更像是一个 GTK 问题。
我认为 GtkButtonBox
对其按钮施加了一些您可能不希望在此处出现的布局限制。尝试在常规 GtkGrid
中使用按钮,但给它们 GTK_STYLE_CLASS_LINKED
CSS class.
对于每个按钮,执行:
button.get_style_context().add_class(Gtk.STYLE_CLASS_LINKED)
我正在尝试设置此 GtkButtonBox 中按钮的最小尺寸。目前它们似乎是固定的 - 我认为大约 85 像素。
这可能吗?
如果不是,在 Gtk 中是否有另一种方法让两个小按钮像上图那样依偎在一起,而不是让它们看起来像两个单独的按钮?例如 GtkStackSwitcher 可能是我可以使用的东西,但似乎没有办法响应按钮的点击事件。
我用这个测试程序创建了上面的(Ubuntu 14.04,Gtk+3.10 和 Python3):
from gi.repository import Gtk
import sys
class MyWindow(Gtk.ApplicationWindow):
def __init__(self, app):
Gtk.Window.__init__(self, title="example", application=app)
self.set_default_size(350, 200)
self.set_border_width(10)
hbox = Gtk.ButtonBox.new(Gtk.Orientation.HORIZONTAL)
hbox.set_layout(Gtk.ButtonBoxStyle.EXPAND)
button = Gtk.Button(label="a")
hbox.add(button)
button2 = Gtk.Button(label="b")
hbox.add(button2)
self.add(hbox)
class MyApplication(Gtk.Application):
def __init__(self):
Gtk.Application.__init__(self)
def do_activate(self):
win = MyWindow(self)
win.show_all()
def do_startup(self):
Gtk.Application.do_startup(self)
app = MyApplication()
exit_status = app.run(sys.argv)
sys.exit(exit_status)
关于我使用的桌面环境的问题。
我已经尝试过 Mate、Unity 和 Gnome-Shell。所有的工作方式相同。我已经删除了标题和那些控件。仍然发生同样的事情。在我看来,这更像是一个 GTK 问题。
我认为 GtkButtonBox
对其按钮施加了一些您可能不希望在此处出现的布局限制。尝试在常规 GtkGrid
中使用按钮,但给它们 GTK_STYLE_CLASS_LINKED
CSS class.
对于每个按钮,执行:
button.get_style_context().add_class(Gtk.STYLE_CLASS_LINKED)