gpt4 book ai didi

python - 如何更改 gtk.Assistant 上的内置按钮标签?

转载 作者:行者123 更新时间:2023-11-28 20:48:59 26 4
gpt4 key购买 nike

我想将 gtk.Assistant 的“应用”按钮的标签更改为“开始”。我在 Assistant 实例中找不到相应的 gtk.Button 小部件。

下面是两页 Assistant 的一些基本代码:

import gtk

a = gtk.Assistant()

page = gtk.CheckButton("Something optional")
a.append_page(page)
a.set_page_type(page, gtk.ASSISTANT_PAGE_CONTENT)
a.set_page_title(page, "Make decisions")
a.set_page_complete(page, True)

page = gtk.Label("Alright, let's build some foo.")
a.append_page(page)
a.set_page_type(page, gtk.ASSISTANT_PAGE_CONFIRM)
a.set_page_title(page, "Confirm")
a.set_page_complete(page, True)

a.connect('delete-event', gtk.main_quit)
a.connect('close', gtk.main_quit)
a.show_all()

gtk.main()

在最后一页上,您会看到“应用”按钮。我想将该文本更改为“开始”。

gtk.Assistant.children().get_children() 返回页面小部件列表。

gtk.Assistant.get_child() 返回无。

gtk.Assistant.get_action_area() 不是方法。

这是文档的链接。:http://www.pygtk.org/docs/pygtk/class-gtkassistant.html

如何找到我感兴趣的 gtk.Button

最佳答案

我在尝试解决方法时设法找到了解决方案。

gtk.Assistant 用返回页面列表的东西覆盖了 gtk.Container.get_children() 方法,但它实际上仍然是 gtk.HBox() 包含“下一步”、“应用”、“取消”等按钮。

gtk.Assistant.add_action_widget() 方法将一个小部件添加到所谓的“操作区域”。原来这是包含相关按钮的HBox。以下函数将生成对 HBox 的引用:

def get_buttons_hbox(assistant):
# temporarily add a widget to the action area and get its parent
label = gtk.Label('')
assistant.add_action_widget(label)
hbox = label.get_parent()
hbox.remove(label)
return hbox

然后使用 get_buttons_hbox(a).get_children() 检索按钮。

for child in get_buttons_hbox(a).get_children():
print child.get_label()

这打印:

gtk-goto-last
gtk-go-back
gtk-go-forward
gtk-apply
gtk-cancel
gtk-close

所以下面的代码解决了这个问题(使用上面定义的get_buttons_hbox()):

for child in get_buttons_hbox(a).get_children():
label = child.get_label()
if label == 'gtk-apply':
child.set_label('Start')

关于python - 如何更改 gtk.Assistant 上的内置按钮标签?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15711845/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com