Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Gtk教程_Python_Gtk - Fatal编程技术网

Python Gtk教程

Python Gtk教程,python,gtk,Python,Gtk,这是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", se

这是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()

当我尝试运行时,它不显示任何内容,当我关闭窗口时,我收到一条消息,说明程序仍在运行。我已经精简了代码,通过删除按钮,窗口将出现,因此我认为按钮中存在错误。添加。

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

这应该行得通。至少在我的Ubuntu上,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()

尝试从这种方式导入

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模块,请安装此模块


然后再试一次

这对我很有效。您使用的是哪种平台(Mac、Windows、Linux)?Windows 7、Python 3.4抱歉,它不起作用。如果我注释掉self.add(self.button)行,窗口将显示标题。否则程序将不显示任何内容,我必须取消。如果您键入以下内容,会得到什么?print str.format(“{0}.{1}”、Gtk.get_major_version()、Gtk.get_minor_version())我在str和之间的光标出现语法错误。哦,我的意思很简单,您使用的是Gtk的哪个版本?在IDLE中键入此项,您将获得正在加载的当前版本。