Dav*_*lla 7 python gtk application-development pygi
我正在编写一个基于选项卡的 Python 应用程序,我不希望它有任何额外的弹出对话框。
我想使用该Gtk.AboutDialog功能,但不希望它显示为单独的窗口。相反,我希望将它嵌入到我的Gtk.Notebook(我用 Glade 创建的)选项卡之一中。
我找不到任何明显的方法来做到这一点。有没有人有任何指示?
您可以将内容区域( GtkVBox) 从GtkDialog另一个移动到另一个GtkContainer,然后GtkNotebook使用gtk.Widget.reparent()方法附加到- 。
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 ()
Run Code Online (Sandbox Code Playgroud)
使用 Glade 创建的界面,您必须为这个解决方案做一些简单的技巧。在笔记本中创建“关于”选项卡并附加GtkBox(带有 id 例如“about_box”)。然后你可以做这样的事情:
box = builder.get_object ("about_box")
about.vbox.reparent (box)
Run Code Online (Sandbox Code Playgroud)
由于某些原因,Glade 的GtkAboutDialog 内容区域也包含GtkButtonBox. 如果您不需要此按钮,只需销毁它们:
about.action_area.destroy()
Run Code Online (Sandbox Code Playgroud)
如果您只想要“积分”按钮,而没有“关闭”按钮,请执行以下操作:
close_button = about.get_widget_for_response(Gtk.ResponseType.CANCEL)
close_button.destroy()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
973 次 |
| 最近记录: |