tob*_*n9e 1 cellrenderer pygobject gtk3
我试图限制Gtk.CellRendererText中显示的小数位数。目前,浮点数字段显示为6个小数位,但我希望只有1个。

此测试代码应在Linux上运行:
#!/usr/bin/python3
from gi.repository import Gtk
class MyWindow(Gtk.Window):
def __init__(self):
Gtk.Window.__init__(self, title="Hello World")
self.set_default_size(200, 200)
self.liststore = Gtk.ListStore(float)
treeview = Gtk.TreeView(model=self.liststore)
self.liststore.append([9.9])
self.liststore.append([1])
xrenderer = Gtk.CellRendererText()
xrenderer.set_property("editable", True)
xcolumn = Gtk.TreeViewColumn("Float Numbers", xrenderer, text=0)
xcolumn.set_min_width(100)
xcolumn.set_alignment(0.5)
treeview.append_column(xcolumn)
self.add(treeview)
win = MyWindow()
win.connect("delete-event", Gtk.main_quit)
win.show_all()
Gtk.main()
Run Code Online (Sandbox Code Playgroud)
跳过同样的问题。基本上,您要做的就是使用GtkTreeViewColumn的set_cell_data_func设置呈现功能,该功能会更改单元格的“文本”属性。就您的示例而言,尝试添加以下行:
xcolumn.set_cell_data_func(xrenderer, \
lambda col, cell, model, iter, unused:
cell.set_property("text", "%g" % model.get(iter, 0)[0]))
Run Code Online (Sandbox Code Playgroud)
参考文献:
| 归档时间: |
|
| 查看次数: |
1339 次 |
| 最近记录: |