pyGTK 列表重新整理model

2021-08-02 21:40:29 字數 2479 閱讀 4955

為了更友好的視覺體驗,使用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:gbk

import gtk

import gobject

class

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)):

self.store = gtk.liststore(*args)

result = self.func_getdata()

for res in result:

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()

defcreate_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)

defrefresh_view

(self):

print

'refreshing...'

self.store.clear()

result = self.func_getdata()

for res in result:

return

true

defmain

(self):

gtk.main()

#獲取資料方法

import random

defget_data

(): result =

try:

for i in range(0, 10):

random.randint(1, 100),

random.randint(1, 100),

random.randint(1, 100),

))except exception, e:

print e

return result

#定義列名

col = [u'日期', u'時間', u'價值', u'空間']

#例項化

refreshlistview('test', col, get_data, 3).main()

在windows上通過修改.py字尾為.pyw字尾,就可以雙擊執行(只顯示ui不顯示cmd)。

jqGrid重新整理指定頁碼列表

當用jqgrid生成列表後如果有新的資料進來或刪除,想要在不重新整理頁面的情況下重新整理列表要怎麼做 1,通過下面這個方法可以實現重新整理列表的效果 function reloadtable trigger reloadgrid 但是這樣重新整理後就回到了第一頁,有時我們需要重新整理後仍在當前頁面,...

XMPP實現動態重新整理好友列表

最近學習了下ios端的xmpp的框架,發現了其有乙個很好的機制,我可以在乙個客戶端如果去刪除使用者指定好友,然後傳送訊息到另外乙個客戶端,然後另外乙個客戶端由於它是把好友列表快取到sqlite資料庫中的,所以我們再用乙個nsfetchedresultscontroller類去請求獲取資料,這個類的話...

Gigaphoton宣布產品列表重新整理計畫

對應各種波長需求 日本栃木縣小山市 美國商業資訊 半導體光刻的主要製造商gigaphoton株式會社 總公司 栃木縣小山市 社長 浦中克己 由於近年來iot的普及以及3d nand爆發式的增長,針對半導體的需求也急劇增加,針對這一現象,我公司宣布了產品列表重新整理計畫。近年來半導體的用途主要集中在汽...