Python Gtk教程

2024-04-25 13:16:01 发布

您现在位置:Python中文网/ 问答频道 /正文

这是GTK教程中的示例2

from gi.repository import Gtk

   class MyWindow(Gtk.Window):

    def __init__(self):
        Gtk.Window.__init__(self, title="Hello World")

        self.button = Gtk.Button(label="Click Here")
        self.button.connect("clicked", self.on_button_clicked)
        self.add(self.button)

    def on_button_clicked(self, widget):
        print("Hello World")

win = MyWindow()
win.connect("delete-event", Gtk.main_quit)
win.show_all()
Gtk.main()

当我尝试运行时,它什么也不显示,当我关闭窗口时,我收到一条消息说程序仍在运行。我已经删除了代码,通过删除按钮,窗口将出现,因此我认为在按钮.添加. 在


Tags: selfhellogtkworldinitmainondef
2条回答

尝试从这种方式导入

import gi
gi.require_version('Gtk', '3.0')
from gi.repository import Gtk

class MyWindow(Gtk.Window):
    def __init__(self):
        Gtk.Window.__init__(self, title="Hello World")

        self.button = Gtk.Button(label="Click Here")
        self.button.connect("clicked", self.on_button_clicked)
        self.add(self.button)

    def on_button_clicked(self, widget):
        print("Hello World")

win = MyWindow()
win.connect("delete-event", Gtk.main_quit)
win.show_all()
Gtk.main()

然后使用您的ide来重新插入所有行

如果不起作用,请卸载所有gtk模块,安装此模块
https://sourceforge.net/projects/pygobjectwin32/files/
再试一次

在您的代码中,包含“class”的行中出现意外的缩进错误,它没有使用“uu name”=='“uuu main”技巧(尽管这只是一个好习惯)。在

这应该行得通。至少对于我的Ubuntu dist上的Gtk+3和python3.4来说是这样

from gi.repository import Gtk

class MyWindow(Gtk.Window):

    def __init__(self):
        Gtk.Window.__init__(self, title="Hello World")

        self.button = Gtk.Button(label="Click Here")
        self.button.connect("clicked", self.on_button_clicked)
        self.add(self.button)

    def on_button_clicked(self, widget):
        print("Hello World")

if __name__ == '__main__':
    win = MyWindow()
    win.connect("delete-event", Gtk.main_quit)
    win.show_all()
    Gtk.main()

相关问题 更多 >