首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python Gtk教程

Python Gtk教程
EN

Stack Overflow用户
提问于 2015-04-27 03:04:35
回答 2查看 282关注 0票数 0

这是GTK教程中的示例2

代码语言:javascript
复制
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()

当我尝试运行时,它什么也不显示,当我关闭窗口时,我收到一条消息,告诉我程序仍在运行。我已经删除了代码,通过删除按钮,窗口将会出现,所以我认为button.add中有一个错误。

EN

回答 2

Stack Overflow用户

发布于 2015-04-29 00:01:40

在您的代码中,包含‘==’的行有一个意外的缩进错误,并且它没有使用__name__类'__main__‘技巧(尽管这只是一个好习惯)。

这应该是可行的。至少在我的Ubuntu dist上使用Python3.4的Gtk+3是这样的。

代码语言:javascript
复制
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()
票数 0
EN

Stack Overflow用户

发布于 2016-07-24 01:36:08

尝试从这种方式导入

代码语言:javascript
复制
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/

然后重试

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29882151

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档