我一直在使用这里找到的代码:

几年来成功地格式化了Treeview数字列。但是当我使用循环插入列时,列显示的是第一列中的数据,而不是我希望从ListStore中获取的数据。为什么会这样?我已经为此挣扎了一段时间了,这可能是一个非常简单的解决方案,但我相当无知!!非常感谢你。下面是一个可以说明我的问题的有效示例:from gi.repository import Gtk, Gdk

class myClass:

def __init__(self):

# Setup

self.iListstore = Gtk.ListStore(str, float, float, float, float)

self.iListstore.append(['abc',209.8967,568.56432, 1, 2])

self.iListstore.append(['def',2409.846,559.534, 3, 4])

self.window = Gtk.Window()

self.iTreeView = Gtk.TreeView(self.iListstore)

# Column 0

lblr= Gtk.CellRendererText()

lcol = Gtk.TreeViewColumn('Row Label')

self.iTreeView.append_column(lcol)

lcol.pack_start(lblr, True)

lcol.add_attribute(lblr, 'text',0)

# Column 1

cr = Gtk.CellRendererText(xalign=1)

myCol = Gtk.TreeViewColumn('Col1')

myCol.set_sort_column_id(1)

self.iTreeView.append_column(myCol)

myCol.pack_start(cr, True)

myCol.add_attribute(cr, 'text',1)

myCol.set_cell_data_func(cr,lambda column, cell, model, iter, unused:cell.set_property("text","{0:.2f}".format(round(model.get(iter,1)[0],2))))

# Column 2

myCol = Gtk.TreeViewColumn('Col2')

myCol.set_sort_column_id(2)

self.iTreeView.append_column(myCol)

myCol.pack_start(cr, True)

myCol.add_attribute(cr, 'text',2)

myCol.set_cell_data_func(cr,lambda column, cell, model, iter, unused:cell.set_property("text","{0:.2f}".format(round(model.get(iter,2)[0],2))))

# The above works but the following does not. Col3 has the same value as Col4. Can someone tell me the reason a loop can not be used with the code?

colNames=['Col3','Col4']

for i in range(3,5):

myCol = Gtk.TreeViewColumn(colNames[i-3]) # I realize this is a bit of a fudge

myCol.set_sort_column_id(i)

self.iTreeView.append_column(myCol)

myCol.pack_start(cr, True)

myCol.add_attribute(cr, 'text',i)

myCol.set_cell_data_func(cr,lambda column, cell, model, iter, unused:cell.set_property("text","{0:.2f}".format(round(model.get(iter,i)[0],2))))

# Window

self.window.add(self.iTreeView)

self.window.show_all()

def main(self):

Gtk.main()

p=myClass()

p.main()

python treeview显示多列_Python Gtk TreeView列数据显示相关推荐

  1. python怎么显示行号_python怎么显示行号

    我们如果想让Python IDLE显示行号,我们可以通过扩展IDLE功能来做到. 1.我们需要下载一个LineNumber.py扩展. 相关推荐:<Python教程> 2.我们打开Pyth ...

  2. python中文显示不出来_Python数据可视化利器Matplotlib,无法显示中文,怎么办?...

    原标题:Python数据可视化利器Matplotlib,无法显示中文,怎么办? matplotlib无法显示中文主要是因为默认字体不是中文字体,所以我们只需设置一下字体行了. 文字字体设置主要有两种方 ...

  3. python图片显示英文字符_Python中利用Tesseract软件来识别图片中的英文与中文

    OCR与Tesseract介绍 将图片翻译成文字一般被称为光学文字识别(Optical Character Recognition,OCR).可以实现OCR 的底层库并不多,目前很多库都是使用共同的几 ...

  4. python怎么变成竖行_python 处理文本 列变成行

    输入转成字典会把?随便写个e68a8462616964757a686964616f31333337616538横着输出的简单函数.#encoding=utf-8 #!/usr/bin/env pyth ...

  5. python按照日期筛选数据_python – 按时间戳列筛选/选择pandas dataframe行

    我是熊猫新手.我的数据框有两列dt(日期时间戳)和值. 给出两个开始和结束数据时间戳:是否有一种简单的方法可以从包含两个日期时间戳之间的行的原始数据帧创建新数据帧? dt value 84 7/23/ ...

  6. python不显示输出结果_Python个性测试,如何显示一个输出而不是所有输出

    我正在努力创造一个"你会在哪个电视节目中表现最好" 然而,当它输出显示你应该在的-它说所有的.我怎么解决这个问题?在 我不在乎我是否花了很长的路来完成代码-我只想知道如何修复说一个 ...

  7. python图片显示英文字符_python如何解析字符串中出现的英文人名?

    这里有四个例子,结果来自google scholar str1 = "Jakes, William C., and Donald C. Cox. Microwave mobile commu ...

  8. python中文显示不出来_Python查询数据库,中文的结果显示不出来

    表里面的数据: 问题:查询数据库,返回结果不是中文可以,是中文的话就报错UnicodeEncodeError: 'gbk' codec can't encode character '\xd4' in ...

  9. python图片显示英文字符_Python为图片素材起个英文名

    写网页的时候, 我们经常需要使用图片素材, 图片素材如果是中文名, 挂到服务器会会引发乱码, 我们需要将图片名称改为英文字符才可以使用 而起名是一个世界级难题, 为图片素材起英文名更是一件极其蛋疼的事 ...

最新文章

  1. Nature:原来记忆是这样形成的!科学家发现记忆形成新机制
  2. Davinci DM6446开发攻略——LINUX GPIO驱动源码移植
  3. [转] JavaScript:彻底理解同步、异步和事件循环(Event Loop)
  4. 流程表单中js如何清空SheetUser控件数据?
  5. oracle 用户 表空间绑定,ORACLE表空间绑定用户操作流程
  6. “压扁数组”技巧(flattening the array)
  7. bzoj4025-二分图【线段树分治,并查集】
  8. sony电视播放服务器文件,sony电视怎么样 sony电视支持视频格式【图文详解】
  9. oracle pl/sql之oracle存储过程
  10. CANN AICPU算子耗时分析及优化探索
  11. Vue结合Echarts
  12. ubuntu16.04下ROS操作系统学习笔记(五)gazebo物理仿真环境搭建、加载服务端模型数据减少报错
  13. js/json 数组的操作
  14. c语言函数名称大全,C语言函数大全
  15. PS教程证件照底片更换颜色
  16. NCPC2015 A Adjoin the Networks(求树的直径)
  17. Android 9.0系统源码_SystemUI(四)通知图标控制器
  18. 【菜鸟逆袭记】之初识操作符
  19. git进阶 | 01 - git基础操作进阶
  20. 性能测试监控工具Server Agent无法监控资源,jmeter报错

热门文章

  1. leetcode 75
  2. HTTP 和 WebSocket的区别
  3. 2015 8月31 工作计划与执行
  4. C#中常用的几个委托
  5. Per-FedAvg:联邦个性化元学习
  6. ICCV 2019 | Adobe 无需大量数据训练,内部学习机制实现更好的视频修补
  7. 我对计算机网络的期待,表白对女朋友说的情话短句 我愿是你最期待的风景线...
  8. 【python教程入门学习】用Python制作迷宫GIF
  9. 民办大学计算机专业教师,干货!民办大学和独立院校教师创新排行榜,这五个高校最亮眼...
  10. hashmap containsvalue时间复杂度_Java-HashMap面试问答