我已经制作了一个使用GTK的Python应用程序。我想向用户发送一个对话框,要求确认操作,但是根据this教程创建对话框后,我注意到没有明显的方法可以使“取消”和“确定”按钮居中对齐。
该教程中的相关代码如下:
class DialogExample(Gtk.Dialog):
def __init__(self, parent):
Gtk.Dialog.__init__(self, "My Dialog", parent, 0,
(Gtk.STOCK_CANCEL, Gtk.ResponseType.CANCEL,
Gtk.STOCK_OK, Gtk.ResponseType.OK))
self.set_default_size(150, 100)
label = Gtk.Label("This is a dialog to display additional information")
box = self.get_content_area()
box.add(label)
self.show_all()
在上面的示例中,按钮向右对齐。是否可以使用这种创建对话框的方法来使按钮居中对齐?
答案 0 :(得分:1)
问题:将对话框按钮居中对齐
您要居中类型为Gtk.Dialog
的{{1}}的{{1}}。
获取Gtk.ButtonBox
注意:自版本3.12开始不推荐使用:建议不要直接访问操作区域
action_area
您需要a_area = self.get_action_area()
中parent
类型的action_area
进入Gtk.Box
框。
parent
要使box = a_area.props.parent
居中,您必须将默认的Gtk.Widget
packing
重设为expand=False
。
对于所有其他True
选项,则保持不变。
packing
现在,您可以居中 box.set_child_packing(a_area, True, False, 0, Gtk.PackType.END)
action_area
输出:
使用Python测试:3.5-gi .__ version __:3.22.0
答案 1 :(得分:0)
我不知道这是否是一种欺骗性的方法,但似乎可行。
action_area= self.get_action_area()
action_area.set_halign(3)