Python pygtk文件选择器对话框降低解释器速度

Python pygtk文件选择器对话框降低解释器速度,python,pygtk,ipython,Python,Pygtk,Ipython,我正在尝试使用FileChooserDialog在python脚本中获取本机gnome对话框。脚本执行后,我的ipython-pylabprompt会显著减慢。普通python提示符也存在此问题。我已将问题隔离到对话框中。以下示例(已作为pygtk示例发布在其他地方)说明了该问题: import pygtk pygtk.require('2.0') import gtk class FileChooserDialog: def __init__(self): filech

我正在尝试使用FileChooserDialog在python脚本中获取本机gnome对话框。脚本执行后,我的
ipython-pylab
prompt会显著减慢。普通python提示符也存在此问题。我已将问题隔离到对话框中。以下示例(已作为pygtk示例发布在其他地方)说明了该问题:

import pygtk
pygtk.require('2.0')
import gtk
class FileChooserDialog:
    def __init__(self):
        filechooserdialog = gtk.FileChooserDialog("FileChooserDialog Example", None, gtk.FILE_CHOOSER_ACTION_OPEN, (gtk.STOCK_CANCEL, gtk.RESPONSE_CANCEL, gtk.STOCK_OK, gtk.RESPONSE_OK))        
        response = filechooserdialog.run()
        if response == gtk.RESPONSE_OK:
            print "Selected filepath: %s" % filechooserdialog.get_filename()
        filechooserdialog.destroy()
if __name__ == "__main__":
    FileChooserDialog()
运行脚本后,我的硬盘驱动器指示灯在键盘输入任何键后都会闪烁,这是非常奇怪的行为!我对弃用的
gtk.FileSelection
或任何其他gtk窗口对象没有问题


我目前正在ubuntu 10.04中运行python 2.6.5、gtk 2.21.1、pygtk 2.17.0。总的来说,这种对话似乎是不连贯的;我还遇到了一些问题,当在脚本中以某些方式执行时,窗口不会自我破坏。任何帮助都将不胜感激

通过在空闲状态下运行,我可以看到以下步骤-

  • 脚本启动并加载文件选择器
  • 解释器在等待
    FileChooserDialog.run()时锁定
  • 当我单击将其删除时,解释器将恢复
  • 这和你描述的完全不同,所以我只能假设这是一个深奥的,奇怪的错误

    我在一个稍旧的系统上(和一个完全不同的发行版),所以我运行:

    • Python 2.6.4
    • PyGTK 2.16.0
    • GTK 2.18.7


    只是为了正确(不必处理问题,但谁知道…)记住,在调用对话框上的
    .run()
    之后,为该对话框调用
    .destroy()
    。p

    第6-10行的缩进是错误的。在创建类时,所有这些都将被执行,而不是在您启动它时执行;代码复制不正确。(Python将报告一个带有原始文件的缩进错误)。问题依然存在。我希望有人能看看他们是否能在他们的系统上重现这个问题。谢谢你的回复。要澄清的是,问题(python会话中的减速)发生在上述脚本运行之后(对话框被破坏)。换句话说,我在你回答的第三步之后看到了问题。在调查这一点时,我发现我在WinXP 32中没有问题。此外,我还发现问题似乎存在于.run()之前的FileChooserDialog对象初始化时,而在.destroy()之后它不会消失。换句话说,您可以通过简单地执行“gtk.FileChooserDialog()”(在导入gtk之后)来测试这个问题。我怀疑python社区的一个子集真的关心这个问题——在脚本运行后,我正试图与(numpy)对象交互(就像Matlab中的一个对象)。关于XP的部分真的很奇怪,因为GTK在Windows系统上没有最好的声誉。。。安装VirtualBox并运行另一个发行版(如Zenwalk或Mandriva),以查看此问题是否仍然存在。我想不会的。