Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/305.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 PyGtk程序在Windows上没有响应_Python_Windows_Pygtk_Py2exe - Fatal编程技术网

Python PyGtk程序在Windows上没有响应

Python PyGtk程序在Windows上没有响应,python,windows,pygtk,py2exe,Python,Windows,Pygtk,Py2exe,我刚刚设法让py2exe在Windows虚拟机上工作,但却偶然发现了另一个问题,在我在该机器上安装GTK、Pango、Gobject等之后,我没有遇到这个问题:当我启动Python脚本时,窗口会出现,但它会立即停止响应。如果打开python解释器并键入: import gtk w = gtk.Window() w.show() 我还不允许发布任何图片,但这里有一个屏幕截图链接: 这对我来说是个问题,就好像我用py2exe创建了一个可执行文件一样,我在执行程序时得到了相同的结果 谢谢你的帮助,谢

我刚刚设法让py2exe在Windows虚拟机上工作,但却偶然发现了另一个问题,在我在该机器上安装GTK、Pango、Gobject等之后,我没有遇到这个问题:当我启动Python脚本时,窗口会出现,但它会立即停止响应。如果打开python解释器并键入:

import gtk
w = gtk.Window()
w.show()
我还不允许发布任何图片,但这里有一个屏幕截图链接:

这对我来说是个问题,就好像我用py2exe创建了一个可执行文件一样,我在执行程序时得到了相同的结果

谢谢你的帮助,谢谢你花时间帮助我!:)


解决了!安装ActivePython安装GTK运行时、PyCairo、PyObject、PyGtk作为管理员以及Windows Xp Service Pack 2的兼容模式似乎解决了这个问题。谢谢你的帮助和建议

您需要运行一个主循环,以便GTK可以处理事件、在窗口中绘制等

将此添加到您的程序中:

gtk.main()

另请参见:

已解决!安装ActivePython安装GTK运行时、PyCairo、PyObject、PyGtk作为管理员以及Windows Xp Service Pack 2的兼容模式似乎解决了这个问题。谢谢你的帮助和建议

别担心,我不是初学者,我已经在文件末尾添加了这一点。问题不是从那里来的。我在上面展示的是python解释器(您不需要启动循环),您的普通开发机器是否运行Windows、Linux或其他东西;程序在那里正常工作吗?你能提供一个显示问题的最小程序吗?我运行Linux,Windows在虚拟机中运行。即使是一个简单的程序,如:导入gtk;w=gtk.Window();w、 show();gtk.main();获取此错误。如果该程序是PyGtk程序,它在打开后立即停止响应。我提供了一个在这个链接上不起作用的程序示例注意:这不是唯一一个不起作用的程序,它只是一个示例。任何Gtk程序都停止响应(如果我单击它,将显示“立即结束”对话框)。谢谢你帮助我!我知道Glade文件的路径是“/home/calin/…”,但在其他程序中这是更改的,所以这不是它不起作用的原因。可能是因为第一行(#!/usr/bin/env-python)?您不能使用这样的线程。首先,尽量避免使用线程。如果你有一些长时间运行的函数,你真的不能拆分,你可以把它放在一个线程中,但是你不能直接从第二个线程访问gtk对象。相反,要从另一个线程访问gtk,请使用gobject.idle\u add。另见: