0

我正在尝试使用 python 为 gtk3 开发应用程序。我使用 glade 设计了 ​​UI。我想知道是否有任何使用小部件数组的方法,其中每个类似类型的小部件都具有相同的名称,但具有不同的索引。这将有助于在很大程度上减少代码。

在我的应用程序中,我有 10 个标签小部件,它们根据一组数据显示不同的数据。gbuilder.get_object()现在,每次需要获取所需对象时,我都必须调用该方法。如果我能够使用小部件数组,它确实有助于减少代码冗余。

4

1 回答 1

1

如果您像这样命名了 glade 中的小部件:

  • <widget_name>_1
  • <widget_name>_2
  • ...
  • <widget_name>_n

在您的应用程序中创建这样的小部件列表很容易,如下所示:

widget_list = [builder.get_object('<widget_name>_{0}'.format(i))
               for i in range(1, n+1)]

例如,要获得第 7 项,您只需要索引列表(注意索引以 0 开头):

widget_list[6]

的目的{0}是生成小部件的名称:

>> ['<widget_name>_{0}'.format(i)) for i in range(1, 4)
['<widget_name>_1', '<widget_name>_2', '<widget_name>_3']

有关如何使用的更多信息format,请查看格式规范迷你语言

于 2012-01-10T11:21:49.650 回答