python - python 控制台和 python 脚本之间的不同行为

标签 python console gtk pydev

我在使用 python 控制台和 python 脚本时遇到相同代码的不同行为。

代码如下:

import gtk
import webkit
win = gtk.Window()
win.show()
web = webkit.WebView()
win.add(web)
web.show()
web.open("http://www.google.com")

在 python 控制台中运行代码时,输​​出是一个包含 google 主页的新框架。

将代码作为脚本运行时,结果是一个空帧。它关闭得非常快,但即使我使用延迟功能,webkit 也不会添加到框架中。

这怎么可能?

此外,使用 PyDev IDE 它会标记:“未解析的导入:gtk”, 但如果我运行该项目,程序将在没有编译问题的情况下启动。正常吗?

最佳答案

添加

gtk.main()

到你脚本的结尾。这将启动 gtk 事件循环。


import gtk
import webkit

class App(object):
    def __init__(self):
        win = gtk.Window()
        win.connect("destroy", self.destroy)
        web = webkit.WebView()
        web.open("http://www.google.com")
        win.add(web)
        web.show()
        win.show()
    def destroy(self, widget, data = None):
        gtk.main_quit()
app = App()
gtk.main()

关于python - python 控制台和 python 脚本之间的不同行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13541862/

相关文章:

c - 使用 gtk_event_put 和 GdkEventButton 结构使用 GTK+ 模拟按钮点击

c++ - 成员(member)使用无效(您是否忘记了“&”?)

python - bs4 `next_sibling` VS `find_next_sibling`

python - 在TensorFlow中显示图形图像?

symfony2 缓存清除 --env=prod 不打印任何内容

bash - 抑制 stderr 控制台输出但在 Shell 中保留退出代码

python - 将两个数据帧连接到第二个数据帧内的值

python - linux python3错误; "OSError [Errno 98]"或 "The kernel process exited. (0)"

Windows cmd 功能等效

c - 如何在 Windows 上为我的 GTK 应用程序使用 Metacity 主题