gtk3中使用python和glad的小部件转发器

2021-05-16 08:46:29 发布

您现在位置:Python中文网/ 问答频道 /正文

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

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

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开头):

^{pr2}$

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

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

有关如何使用format的详细信息,请查看format specification mini-language

相关问题