小数点/小数点位数

2024-10-02 00:44:38 发布

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

有人能告诉我为什么这个例子在我试图在一个列中添加一个浮点值时不起作用?在

它在底部的行中生成一个类型错误(TypeError:必须是number,而不是str)self.liststorepath=number)。在

enter image description here

编辑:我缩小了范围。我的操作系统用逗号(3,2)表示小数,而python使用点(3.2)表示小数。代码中是否有一个简单的解决方案,允许程序在任一操作系统设置下工作?在

    from gi.repository import Gtk

    class CellRendererTextWindow(Gtk.Window):

        def __init__(self):
            Gtk.Window.__init__(self, title="CellRendererText Example")

            self.set_default_size(200, 200)

            self.liststore = Gtk.ListStore(str, float)
            self.liststore.append(["Measurement 1", 3.2])
            self.liststore.append(["Measurement 2", 2.0])
            self.liststore.append(["Measurement 3", 4.75])

            treeview = Gtk.TreeView(model=self.liststore)

            renderer_text = Gtk.CellRendererText()
            column_text = Gtk.TreeViewColumn("Text", renderer_text, text=0)
            treeview.append_column(column_text)

            floatrenderer = Gtk.CellRendererText()
            floatrenderer.set_property("editable", True)

            column_editabletext = Gtk.TreeViewColumn("Value",
                floatrenderer, text=1)
            treeview.append_column(column_editabletext)

            floatrenderer.connect("edited", self.text_edited)

            self.add(treeview)

        def text_edited(self, widget, path, number):
            self.liststore[path][1] = number

    win = CellRendererTextWindow()
    win.connect("delete-event", Gtk.main_quit)
    win.show_all()
    Gtk.main()

原始示例来自:http://python-gtk-3-tutorial.readthedocs.org/en/latest/cellrenderers.html#cellrenderertext


Tags: textselfnumbergtkcolumnwinmeasurementtreeview

热门问题