0

我的 PyGTK 应用程序创建了一个辅助弹出窗口,用于显示结果的预览。这个窗口相当精致,表格小部件嵌套三层,并由 HBox 填充,每个 HBox 在最低级别包含一个标签。标签的总数可以是数千个。我注意到,当我关闭此窗口时,GTK 变得非常忙于处理某些事情(使用 gobject.idle_add 添加的函数在 >10 秒内无法解析),并且我的应用程序的主窗口此时变得无响应。即使有这么多的小部件,我觉得关闭窗口需要这么长时间,甚至比设置和显示时间还要长,这让我感到很奇怪。有什么办法可以减轻这种情况吗?(我尝试在另一个线程中创建和显示窗口,但显然使用 GTK 这是一个禁忌)

4

2 回答 2

1

该窗口需要多长时间才能出现?显示时是否一次创建所有小部件?

您的问题可能是由于您的数千个小部件同时被破坏而引起的。或者通过对这些小部件的破坏执行长时间的操作。但是如果没有一些代码可以查看,可能有成千上万的原因,所以一个番茄说,使用分析器......

于 2013-01-04T12:04:35.340 回答
0

显然,这是由于我试图更改表格的背景颜色造成的——我正在设置每个 HBox(和标签)的背景颜色,这几乎是所有过度拆卸时间的原因。我所要做的就是设置包含表格的视口的背景颜色。

于 2013-01-04T15:53:23.003 回答