我正在编写一个基于选项卡的Python应用程序,但我不希望它具有任何其他弹出对话框。
我想使用该Gtk.AboutDialog
功能,但我不希望它显示为单独的窗口。相反,我希望将其嵌入到我的一个选项卡中Gtk.Notebook
(我使用Glade创建)。
我找不到任何明显的方法来做到这一点。有人有指针吗?
您可以使用gtk.Widget.reparent()方法将内容区域(GtkVBox
)从GtkDialog
移到另一个GtkContainer
,然后附加到GtkNotebook
- 。
about = Gtk.AboutDialog()
about.set_program_name ("Application")
about.set_copyright ("Author")
box = Gtk.VBox ()
about.vbox.reparent (box)
notebook.append_page (box, Gtk.Label("About"))
about.destroy ()
使用Glade中创建的界面,您必须为该解决方案做一些简单的技巧。在带有GtkBox
附件的笔记本中创建“关于”选项卡(带有ID,例如“ about_box”)。然后,您可以执行以下操作:
box = builder.get_object ("about_box")
about.vbox.reparent (box)
由于某些原因,Glade的GtkAboutDialog
内容区域也包含GtkButtonBox
。如果您不需要此按钮,则只需将其销毁即可:
about.action_area.destroy()
如果您只需要“贷方”按钮,而不需要“关闭”按钮,请执行以下操作:
close_button = about.get_widget_for_response(Gtk.ResponseType.CANCEL)
close_button.destroy()
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句