我对 python 和 gtk 还不熟悉,正在使用 Quickly 为 Ubuntu App Showdown 编写应用程序。我想在用户单击“新建”时创建一个主窗口的新实例。
我已将按钮和菜单项链接起来,也就是说,我可以让它在单击时将“new”打印到命令行。但是我搜索了很久,找不到如何创建新实例的方法。
答案1
如果您想在同一进程中启动应用程序的新窗口,您只需创建快速为您创建的窗口类的新实例即可。
我的应用程序名为 quick-gtk,在 python 模块中为 ./quickly_gtk/在里面.py 我有以下几行(在文件底部):
# Run the application.
window = QuicklyGtkWindow.QuicklyGtkWindow()
window.show()
如果您再次调用它,它将启动主窗口的新实例。但是,Quickly 生成的代码实际上旨在一次运行此窗口的一个实例,因此您将遇到一些需要编码解决的副作用。
例如,快速将窗口关闭事件连接到结束整个过程的回调。如果您有多个窗口,则需要覆盖on_destroy()
窗口的方法。执行此操作时,您可能会遇到其他问题。
答案2
您可以通过创建窗口对象来创建一个新窗口,然后显示它。下面是一段示例代码:
window = gtk.Window(gtk.WINDOW_TOPLEVEL)
window.show()
但是,也可能有一些有用的资源可以提供帮助,例如 PyGTK 参考:http://developer.gnome.org/pygtk/stable/
此外,还有一些教程:http://pygtk.org/pygtk2tutorial/