gpt4 book ai didi

python - 无法在 Python.TypeError : argument parent: Expected Gtk. 窗口中使用 GTK 设置父级,但得到 __main__.function

转载 作者:太空宇宙 更新时间:2023-11-03 17:38:17 24 4
gpt4 key购买 nike

我正在尝试制作一个 GTK 程序来启动其他子窗口,但我似乎无法让 set_transient_for 工作。

我遇到问题的窗口目前称为“关于”。我试图将 __init__ 下的窗口设置为其父窗口,但是当我尝试使用“关于”菜单时,我得到:

TypeError: argument parent: Expected Gtk.Window, but got __main__.function

这是我制作窗口的方法。

class App(Gtk.Window):
def __init__(self):
## Create window. ##
Gtk.Window.__init__(self, title="Simple Updater")
self.set_border_width(5)
self.set_resizable(False)

我使用 uimanager 创建了一些菜单并将它们打包在网格中。这是我如何调用我的“关于”窗口。

## Menu functions ##

def add_about_actions(self, action_group):
action_group.add_actions([
("About", None, "About"),
("About...", None, "About...", None, None, Windows.About)
])

我为我的子窗口创建了另一个类。这是我尝试将父窗口设置为窗口 __init__ 的地方。

class Windows(Gtk.Window):
def About(self):
about = Gtk.Window(title="About")
about.set_border_width(10)
about.set_resizable(False)
about.set_transient_for(__init__)

我也尝试过:

about.set_transient_for(App.__init__)

以下是我设置 GTK 循环的方法。

top = App()
top.connect("delete-event", Gtk.main_quit)
top.show_all()
Gtk.main()

我已经尝试了几个小时来弄清楚发生了什么,但没有成功。任何帮助将不胜感激。

最佳答案

这是一个重复的问题:GtkDialog mapped without a transient parent

您需要传递保存主窗口对象的变量。

关于python - 无法在 Python.TypeError : argument parent: Expected Gtk. 窗口中使用 GTK 设置父级,但得到 __main__.function,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30903813/

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