gtk3中使用python和glade的小部件中继器

发布于 2024-12-26 02:27:25 字数 242 浏览 2 评论 0原文

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

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

I am trying to develop applications for gtk3 using python. I have designed the UI using glade. I want to know if there is any way of using widget arrays, in which each widget of similar type would have the same name, but with a different index. It would help in reducing code to a great extent.

In my application, I have 10 label widgets which display different data, based on an array of data. Now I have to call the gbuilder.get_object() method every time I need to get the desired object. If I were able to use widget arrays, it would really help in reducing the code redundancy.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

醉生梦死 2025-01-02 02:27:25

如果您在空地中为小部件命名如下:

  • _1
  • _2
  • ...
  • _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 的更多信息,请查看 格式规范迷你语言

If you have named the widgets in glade like this:

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

It would be easy to create such a list of widgets in your application like this:

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

To get, for example, item 7, all you need is index the list (note that indexes start with 0):

widget_list[6]

The purpose of {0} is generate the names of the widgets:

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

For more information about how to use format, please have a look at the format specification mini-language

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文