2010-10-26 52 views
1

我试图使用FileChooserDialog来获取python脚本中的原生gnome对话框。脚本执行后,我的ipython -pylab提示会显着减慢。这个问题也存在于普通的Python提示符中。我已将问题隔离到对话框中。下面的例子(已在其他地方发布的pygtk的例子)说明了问题:pygtk FileChooserDialog减慢解释器

​​

脚本运行之后,我的硬盘灯似乎任意键从键盘输入的后闪烁 - 很奇怪的行为!我不赞成已弃用的gtk.FileSelection或任何其他gtk窗口对象。

我目前在ubuntu 10.04中运行,python 2.6.5,gtk 2.21.1,pygtk 2.17.0。一般来说,这个对话似乎很脆弱。在窗口中执行特定的方法时,我也遇到了一些不会自行销毁的问题。任何帮助将不胜感激!

+0

第6-10行的缩进是错误的。在创建该类时,将全部执行,而不是在启动时执行。 – new123456 2010-10-27 11:50:03

+0

缩进固定;该代码未被正确复制。 (Python会用原始报告IndentationError)。问题依然存在。我希望有人会试图看看他们是否可以在他们的系统上重现这个问题。 – Walt 2010-10-28 02:11:46

回答

0

从空转此,这里的步骤,我可以看到事情对我来说 -

  1. 脚本启动和文件选择负载
  2. 解释器锁,因为它等待FileChooserDialog.run()
  3. 当我点击删除它时,口译员恢复工作

这没什么像你所描述的,所以我只能假设它是一些深奥的,奇怪的错误。

我是一个年纪大一点的系统(和一个完全不同的发行),所以我跑:

  • 的Python 2.6.4
  • PyGTK的2.16.0
  • GTK 2.18.7

只是为了正确性(不necessairly处理这个问题,但谁知道...)REM在你拨打.run()之后,你可以拨打.destroy()进行对话.P

+0

感谢您的回复。为了清楚上面的脚本运行(并且对话被销毁)之后发生的问题(python会话放慢)。换句话说,我在你的答案的第3步后看到问题。在调查中,我发现我在WinXP 32中没有这个问题。 – Walt 2010-11-08 18:00:53

+0

另外,我发现问题似乎存在于.run()之前的FileChooserDialog对象的初始化中,并且它没有.destroy()之后离开。换句话说,只需执行“gtk.FileChooserDialog()”(导入gtk后)即可测试此问题。我怀疑python社区的一个子集确实关心这个问题 - 在脚本运行之后,我试图与(numpy)对象进行交互(就像Matlab中的一个)。 – Walt 2010-11-08 18:16:36

+0

关于XP的部分*真的很奇怪,因为GTK在Windows系统上没有最好的声誉......安装VirtualBox并运行另一个发行版(如Zenwalk或Mandriva)来查看这个问题是否存在。我*认为*它不会。 – new123456 2010-11-08 21:06:20