pyGTK 列表刷新model
来源:互联网 发布:网络大电影市千万票房 编辑:程序博客网 时间:2024/05/21 09:03
为了更友好的视觉体验,使用pygtk写了个列表刷新的GUI工具。列表刷新的比较常用的工具,性能监控、实时数据查看等都会用到。下面简单介绍使用方法:
def __init__(self,title,col,func_getdata,time=30,length=350,height=250):
需要传入的参数有:
title:标题
col:列名(list)
func_getdata:刷新数据的方法名(返回 list数据)
time:刷新间隔
length,height:长和高(int)
运行:
先定义列名与获取数据的方法get_data,然后实例化:
RefreshListview(‘test’,col, get_data, 3,350,250).main()
demo code:
# coding:GBKimport gtkimport gobjectclass RefreshListview(gtk.Window): def __init__(self, title, col, func_getdata, time=30, length=350, height=250): super(RefreshListview, self).__init__() self.set_size_request(length, height) self.set_position(gtk.WIN_POS_CENTER) self.connect("destroy", gtk.main_quit) self.set_title(title) self.col = col self.func_getdata = func_getdata vbox = gtk.VBox(False, 8) sw = gtk.ScrolledWindow() sw.set_shadow_type(gtk.SHADOW_ETCHED_IN) sw.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC) vbox.pack_start(sw, True, True, 0) args = [] for i in range(len(col)): args.append(str) self.store = gtk.ListStore(*args) result = self.func_getdata() for res in result: self.store.append(res) treeView = gtk.TreeView(self.store) sw.add(treeView) self.create_columns(treeView) self.add(vbox) gobject.timeout_add(time * 1000, self.refresh_view) self.show_all() def create_columns(self, treeView): for i in range(len(self.col)): rendererText = gtk.CellRendererText() column = gtk.TreeViewColumn(self.col[i], rendererText, text=i) column.set_sort_column_id(i) treeView.append_column(column) def refresh_view(self): print 'refreshing...' self.store.clear() result = self.func_getdata() for res in result: self.store.append(res) return True def main(self): gtk.main()#获取数据方法import randomdef get_data(): result = [] try: for i in range(0, 10): result.append((random.randint(1, 100), random.randint(1, 100), random.randint(1, 100), random.randint(1, 100), )) except Exception, e: print e result.append((-1, -1, -1, -1, -1)) return result#定义列名col = [u'日期', u'时间', u'价值', u'空间']#实例化RefreshListview('test', col, get_data, 3).main()
在windows上通过修改.py后缀为.pyw后缀,就可以双击运行(只显示UI不显示cmd)。
阅读全文
0 0
- pyGTK 列表刷新model
- pygtk
- PYGTK 的线程刷新界面的完美解决
- PYGTK 的线程刷新界面的完美解决
- Hello PyGTK!
- windows + pygtk
- PyGTK 多线程
- PyGtk随记
- PyGTK学习
- PyGTK中文版
- 列表下拉刷新
- android 列表刷新
- android列表下拉刷新
- 下拉刷新列表
- android刷新listview列表
- 刷新listview列表
- 列表下拉刷新
- Android中刷新列表
- Exyons4412音频驱动读写流程
- 【Visual Studio】VS常用调试技巧——笔记
- 算法设计与分析(17)-- Swap Nodes in Pairs(难度:Medium)
- 判断括号是否匹配
- 乐驾 -- 7
- pyGTK 列表刷新model
- java_try,catch,finally return之间的执行顺序
- 006 音量上下键调节app使用
- 队列
- 硬盘的读写原理
- 进程状态切换
- WIN10和Ubuntu共享蓝牙4.0连接配对,鼠标键盘等,罗技M720,小米鼠标
- kotlin基本语法--kotlin官网文档学习
- QT json序列化