Python 将Gtk.标签放入Gtk.TreeView行

Python 将Gtk.标签放入Gtk.TreeView行,python,gtk,gtk3,pygtk,gtktreeview,Python,Gtk,Gtk3,Pygtk,Gtktreeview,我尝试使用以下示例将带标记的文本(可能包含斜体、粗体和颜色)放入Gtk.TreeView列中: #/usr/bin/env蟒蛇3 #-*-编码:utf-8-*- 导入系统 导入操作系统 导入gi gi.require_版本('Gtk','3.0') 从gi.repository导入Gtk 类CellRenderLabelWindow(Gtk.Window): 定义初始化(自): Gtk.Window.uu init_uuu(self,title=“Gtk.ListStore示例中的Gtk.Lab

我尝试使用以下示例将带标记的文本(可能包含斜体、粗体和颜色)放入
Gtk.TreeView
列中:

#/usr/bin/env蟒蛇3
#-*-编码:utf-8-*-
导入系统
导入操作系统
导入gi
gi.require_版本('Gtk','3.0')
从gi.repository导入Gtk
类CellRenderLabelWindow(Gtk.Window):
定义初始化(自):
Gtk.Window.uu init_uuu(self,title=“Gtk.ListStore示例中的Gtk.Label”)
#创建ListStore对象
self.liststore=Gtk.liststore(str,Gtk.Label)
#制作ListStore模型
label=Gtk.label()
label.set_标记(“baz foo”)
self.liststore.append([“条”,标签])
treeview=Gtk.treeview(model=self.liststore)
#仅准备第一列纯文本
renderer_text_0=Gtk.CellRendererText()
column_text_0=Gtk.TreeViewColumn(“text”,renderer_text_0,text=0)
treeview.append\u列(列\u文本\u 0)
#准备带标签的第二列
renderer_text_1=Gtk.CellRendererText()
column_text_1=Gtk.TreeViewColumn(“标签”,渲染器_text_1,text=1)
treeview.append_列(column_text_1)
self.add(树视图)
win=CellRenderLabelWindow()
win.connect(“破坏”,Gtk.main_退出)
赢,全力以赴
Gtk.main()
我得到以下错误消息:

GtkLabelInGtkList.py:43: Warning: unable to set property 'text' of type 'gchararray' from value of type 'GtkLabel'
  win.show_all()
GtkLabelInGtkList.py:44: Warning: unable to set property 'text' of type 'gchararray' from value of type 'GtkLabel'
  Gtk.main()
以及以下窗口渲染:

如您所见,“Label”列行是空的,当时我希望看到类似“bazfoo”的内容

正如错误消息所说,Gtk尝试在
GtkLabel
中查找属性
text
,但没有找到它。因此,我将
text
替换为
label
,使行类似于
column\u text\u 1=Gtk.TreeViewColumn(“label”,renderer\u text\u 1,label=1)
。但是我得到了以下错误:

(GtkLabelInGtkList.py:10013): Gtk-WARNING **: Cannot connect attribute 'label' for cell renderer class 'GtkCellRendererText' since attribute does not exist

那么,在
树视图中放置
标签(或其他Gtk的小部件)的解决方案是什么呢?

不能将小部件放置在Gtk树视图中,只能使用单元格渲染器

如果要在树状视图列中显示标记,可以使用of
gtkcellrenderText
而不是
text
属性:

self.liststore=Gtk.liststore(str,str)
self.liststore.append([“bar”,“baz foo”])
# ...
column_text_0=Gtk.TreeViewColumn(“text”,renderer_text_0,text=0)
column_text_1=Gtk.TreeViewColumn(“标记”,渲染器_text_1,标记=1)