使用 Gtk 在列表中显示列表

Display list in a list with Gtk

所以我在列表中有一个列表看起来像

[('9/13/2021', 2.0, '7:15', 'Hill'), 
('9/14/2021', 8.0, '6:0', 'Tempo'), 
('9/14/2021', 4.0, '6:0', 'Tempo')]

并且我知道如何将它打印出来以使其看起来不错,但我试图让它在 Gtk 中显示,并且它打印到显示器中看起来像这样:

我正在寻找一种方法让它打印出去掉括号、逗号和引号但仍在同一行的地方。

我打印到的方式是这样的:

        items = self.read_from_db()
        # lists through the items pulled and adds them to the
        # list of reminders displayed
        for item in items:
            self.listbox_2.add(ListBoxRowWithData(item))


其中 read_from_db() returns 列表中的列表。有什么想法吗?

这是 ListBoxRowWithData class:

class ListBoxRowWithData(Gtk.ListBoxRow):
    def __init__(self, data):
        super().__init__()
        self.data = data
        self.add(Gtk.Label(label=data))
Items output:
 [('9/13/2021', 2.0, '7:15', 'Hill'), ('9/14/2021', 8.0, '6:0', 'Tempo'), ('9/14/2021', 4.0, '6:0', 'Tempo')]

目前标签文本是列表的字符串表示形式。要将列表连接成字符串,可以使用字符串的 .join

self.listbox_2.add(ListBoxRowWithData(" ".join([str(x) for x in item])))

.join 仅当列表中的所有项都是字符串时才有效,因此 [str(x) for x in item] 列表理解会将每个列表项转换为字符串。然后使用 space 连接这些项目,但如果您愿意,可以使用不同的连接字符串。