将gtk.Dialog窗口的按钮填充到操作区域,而不是右对齐

1 投票
2 回答
1117 浏览
提问于 2025-04-16 21:06

在使用PyGTK的时候,我在一个gtk.Dialog的操作区域创建了一些按钮,方法是用add_button(),代码如下:

self.replace_all_button = self.add_button(_("Replace All"), 
            gtk.RESPONSE_ACCEPT)

这样创建的对话框,所有的按钮都靠右对齐,像下面这张图片所示:

gtk.Dialog中操作按钮靠右对齐

不过,我想让这些按钮填满整个操作区域,就像这张图片那样:

在这里输入图片描述

我尝试了一些奇怪的方法,比如重新定义操作区域中所有小部件的排列参数,代码如下,但没有成功。

def redefine_packing(widget):
    _, _, padding, _ = self.action_area.query_child_packing(widget)
    self.action_area.set_child_packing(widget, True, True, padding, _)

self.action_area.foreach(redefine_packing)

那我该怎么做呢?(如果我能直观地把解决方案从原始语言翻译过来,那就不一定要用Python写)

2 个回答

1

也许你可以把对话框里的 hbuttonbox 替换成一个普通的 hbox,这样就能更简单地控制里面的布局了。

0

我的问题在于,我发现自己其实是在寻找一个根本不存在的问题。

我想要模仿 Gedit 的搜索和替换窗口的样子。于是我用“C”语言环境启动了 Gedit,结果搜索和替换的对话框看起来是这样的:

搜索和替换对话框,标签是英文

所以我想要模仿的对话框其实和我看到的对话框是一样的。之前我看到的原始对话框看起来不一样,只是因为它的标签用的是不同的语言,而且字体更大。

撰写回答