390 lines
10 KiB
Python
390 lines
10 KiB
Python
import os
|
|
import sys
|
|
from functools import partial
|
|
from kivyblocks.dg import DataGrid
|
|
from kivy.app import App
|
|
from kivy.clock import Clock
|
|
from appPublic.folderUtils import ProgramPath
|
|
from appPublic.jsonConfig import getConfig
|
|
from appPublic.timecost import TimeCost
|
|
from kivyblocks.blocksapp import appBlocksHack
|
|
|
|
if __name__ == '__main__':
|
|
pp = ProgramPath()
|
|
workdir = pp
|
|
if len(sys.argv) > 1:
|
|
workdir = sys.argv[1]
|
|
print('ProgramPath=',pp,'workdir=',workdir)
|
|
|
|
config = getConfig(workdir,NS={'workdir':workdir,'ProgramPath':pp})
|
|
|
|
|
|
desc = {
|
|
"paging":True,
|
|
"fields":[
|
|
{
|
|
"freeze":True,
|
|
"width":8,
|
|
"name":"name",
|
|
"label":"Name",
|
|
"datatype":"str"
|
|
},
|
|
{
|
|
"width":50,
|
|
"name":"subject",
|
|
"label":"Subject",
|
|
"datatype":"str"
|
|
},
|
|
{
|
|
"width":10,
|
|
"name":"age",
|
|
"label":"Age",
|
|
"datatype":"int"
|
|
},
|
|
{
|
|
"width":10,
|
|
"name":"gender",
|
|
"label":"Gender",
|
|
"datatype":"int"
|
|
},
|
|
{
|
|
"width":10,
|
|
"name":"grade",
|
|
"label":"Grade",
|
|
"datatype":"str"
|
|
},
|
|
{
|
|
"width":10,
|
|
"name":"since",
|
|
"label":"Since",
|
|
"datatype":"date"
|
|
}
|
|
]
|
|
}
|
|
data = """name1 subject1 34 1 1 1992
|
|
name2 subject2 34 1 1 1992
|
|
name3 subject3 34 1 1 1992
|
|
name4 subject4 34 1 1 1992
|
|
name5 subject5 34 1 1 1992
|
|
name6 subject6 34 1 1 1992
|
|
name7 subject7 34 1 1 1992
|
|
name8 subject8 34 1 1 1992
|
|
name9 subject9 34 1 1 1992
|
|
name10 subject10 34 1 1 1992
|
|
name11 subject11 34 1 1 1992
|
|
name12 subject12 34 1 1 1992
|
|
name13 subject13 34 1 1 1992
|
|
name14 subject14 34 1 1 1992
|
|
name15 subject15 34 1 1 1992
|
|
name16 subject16 34 1 1 1992
|
|
name17 subject17 34 1 1 1992
|
|
name18 subject18 34 1 1 1992
|
|
name19 subject19 34 1 1 1992
|
|
name20 subject20 34 1 1 1992
|
|
name21 subject21 34 1 1 1992
|
|
name22 subject22 34 1 1 1992
|
|
name23 subject23 34 1 1 1992
|
|
name24 subject24 34 1 1 1992
|
|
name25 subject25 34 1 1 1992
|
|
name26 subject26 34 1 1 1992
|
|
name27 subject27 34 1 1 1992
|
|
name28 subject28 34 1 1 1992
|
|
name29 subject29 34 1 1 1992
|
|
name30 subject30 34 1 1 1992
|
|
name31 subject31 34 1 1 1992
|
|
name32 subject32 34 1 1 1992
|
|
name33 subject33 34 1 1 1992
|
|
name34 subject34 34 1 1 1992
|
|
name35 subject35 34 1 1 1992
|
|
name36 subject36 34 1 1 1992
|
|
name37 subject37 34 1 1 1992
|
|
name38 subject38 34 1 1 1992
|
|
name39 subject39 34 1 1 1992
|
|
name40 subject40 34 1 1 1992
|
|
name41 subject41 34 1 1 1992
|
|
name42 subject42 34 1 1 1992
|
|
name43 subject43 34 1 1 1992
|
|
name44 subject44 34 1 1 1992
|
|
name45 subject45 34 1 1 1992
|
|
name46 subject46 34 1 1 1992
|
|
name47 subject47 34 1 1 1992
|
|
name48 subject48 34 1 1 1992
|
|
name49 subject49 34 1 1 1992
|
|
name50 subject50 34 1 1 1992
|
|
name51 subject51 34 1 1 1992
|
|
name52 subject52 34 1 1 1992
|
|
name53 subject53 34 1 1 1992
|
|
name54 subject54 34 1 1 1992
|
|
name55 subject55 34 1 1 1992
|
|
name56 subject56 34 1 1 1992
|
|
name57 subject57 34 1 1 1992
|
|
name58 subject58 34 1 1 1992
|
|
name59 subject59 34 1 1 1992
|
|
name60 subject60 34 1 1 1992
|
|
name61 subject61 34 1 1 1992
|
|
name62 subject62 34 1 1 1992
|
|
name63 subject63 34 1 1 1992
|
|
name64 subject64 34 1 1 1992
|
|
name65 subject65 34 1 1 1992
|
|
name66 subject66 34 1 1 1992
|
|
name67 subject67 34 1 1 1992
|
|
name68 subject68 34 1 1 1992
|
|
name69 subject69 34 1 1 1992
|
|
name70 subject70 34 1 1 1992
|
|
name71 subject71 34 1 1 1992
|
|
name72 subject72 34 1 1 1992
|
|
name73 subject73 34 1 1 1992
|
|
name74 subject74 34 1 1 1992
|
|
name75 subject75 34 1 1 1992
|
|
name76 subject76 34 1 1 1992
|
|
name77 subject77 34 1 1 1992
|
|
name78 subject78 34 1 1 1992
|
|
name79 subject79 34 1 1 1992
|
|
name80 subject80 34 1 1 1992
|
|
name81 subject81 34 1 1 1992
|
|
name82 subject82 34 1 1 1992
|
|
name83 subject83 34 1 1 1992
|
|
name84 subject84 34 1 1 1992
|
|
name85 subject85 34 1 1 1992
|
|
name86 subject86 34 1 1 1992
|
|
name87 subject87 34 1 1 1992
|
|
name88 subject88 34 1 1 1992
|
|
name89 subject89 34 1 1 1992
|
|
name90 subject90 34 1 1 1992
|
|
name91 subject91 34 1 1 1992
|
|
name92 subject92 34 1 1 1992
|
|
name93 subject93 34 1 1 1992
|
|
name94 subject94 34 1 1 1992
|
|
name95 subject95 34 1 1 1992
|
|
name96 subject96 34 1 1 1992
|
|
name97 subject97 34 1 1 1992
|
|
name98 subject98 34 1 1 1992
|
|
name99 subject99 34 1 1 1992
|
|
name100 subject100 34 1 1 1992
|
|
name101 subject101 34 1 1 1992
|
|
name102 subject102 34 1 1 1992
|
|
name103 subject103 34 1 1 1992
|
|
name104 subject104 34 1 1 1992
|
|
name105 subject105 34 1 1 1992
|
|
name106 subject106 34 1 1 1992
|
|
name107 subject107 34 1 1 1992
|
|
name108 subject108 34 1 1 1992
|
|
name109 subject109 34 1 1 1992
|
|
name110 subject110 34 1 1 1992
|
|
name111 subject111 34 1 1 1992
|
|
name112 subject112 34 1 1 1992
|
|
name113 subject113 34 1 1 1992
|
|
name114 subject114 34 1 1 1992
|
|
name115 subject115 34 1 1 1992
|
|
name116 subject116 34 1 1 1992
|
|
name117 subject117 34 1 1 1992
|
|
name118 subject118 34 1 1 1992
|
|
name119 subject119 34 1 1 1992
|
|
name120 subject120 34 1 1 1992
|
|
name121 subject121 34 1 1 1992
|
|
name122 subject122 34 1 1 1992
|
|
name123 subject123 34 1 1 1992
|
|
name124 subject124 34 1 1 1992
|
|
name125 subject125 34 1 1 1992
|
|
name126 subject126 34 1 1 1992
|
|
name127 subject127 34 1 1 1992
|
|
name128 subject128 34 1 1 1992
|
|
name129 subject129 34 1 1 1992
|
|
name130 subject130 34 1 1 1992
|
|
name131 subject131 34 1 1 1992
|
|
name132 subject132 34 1 1 1992
|
|
name133 subject133 34 1 1 1992
|
|
name134 subject134 34 1 1 1992
|
|
name135 subject135 34 1 1 1992
|
|
name136 subject136 34 1 1 1992
|
|
name137 subject137 34 1 1 1992
|
|
name138 subject138 34 1 1 1992
|
|
name139 subject139 34 1 1 1992
|
|
name140 subject140 34 1 1 1992
|
|
name141 subject141 34 1 1 1992
|
|
name142 subject142 34 1 1 1992
|
|
name143 subject143 34 1 1 1992
|
|
name144 subject144 34 1 1 1992
|
|
name145 subject145 34 1 1 1992
|
|
name146 subject146 34 1 1 1992
|
|
name147 subject147 34 1 1 1992
|
|
name148 subject148 34 1 1 1992
|
|
name149 subject149 34 1 1 1992
|
|
name150 subject150 34 1 1 1992
|
|
name151 subject151 34 1 1 1992
|
|
name152 subject152 34 1 1 1992
|
|
name153 subject153 34 1 1 1992
|
|
name154 subject154 34 1 1 1992
|
|
name155 subject155 34 1 1 1992
|
|
name156 subject156 34 1 1 1992
|
|
name157 subject157 34 1 1 1992
|
|
name158 subject158 34 1 1 1992
|
|
name159 subject159 34 1 1 1992
|
|
name160 subject160 34 1 1 1992
|
|
name161 subject161 34 1 1 1992
|
|
name162 subject162 34 1 1 1992
|
|
name163 subject163 34 1 1 1992
|
|
name164 subject164 34 1 1 1992
|
|
name165 subject165 34 1 1 1992
|
|
name166 subject166 34 1 1 1992
|
|
name167 subject167 34 1 1 1992
|
|
name168 subject168 34 1 1 1992
|
|
name169 subject169 34 1 1 1992
|
|
name170 subject170 34 1 1 1992
|
|
name171 subject171 34 1 1 1992
|
|
name172 subject172 34 1 1 1992
|
|
name173 subject173 34 1 1 1992
|
|
name174 subject174 34 1 1 1992
|
|
name175 subject175 34 1 1 1992
|
|
name176 subject176 34 1 1 1992
|
|
name177 subject177 34 1 1 1992
|
|
name178 subject178 34 1 1 1992
|
|
name179 subject179 34 1 1 1992
|
|
name180 subject180 34 1 1 1992
|
|
name181 subject181 34 1 1 1992
|
|
name182 subject182 34 1 1 1992
|
|
name183 subject183 34 1 1 1992
|
|
name184 subject184 34 1 1 1992
|
|
name185 subject185 34 1 1 1992
|
|
name186 subject186 34 1 1 1992
|
|
name187 subject187 34 1 1 1992
|
|
name188 subject188 34 1 1 1992
|
|
name189 subject189 34 1 1 1992
|
|
name190 subject190 34 1 1 1992
|
|
name191 subject191 34 1 1 1992
|
|
name192 subject192 34 1 1 1992
|
|
name193 subject193 34 1 1 1992
|
|
name194 subject194 34 1 1 1992
|
|
name195 subject195 34 1 1 1992
|
|
name196 subject196 34 1 1 1992
|
|
name197 subject197 34 1 1 1992
|
|
name198 subject198 34 1 1 1992
|
|
name199 subject199 34 1 1 1992
|
|
name200 subject200 34 1 1 1992
|
|
name201 subject201 34 1 1 1992
|
|
name202 subject202 34 1 1 1992
|
|
name203 subject203 34 1 1 1992
|
|
name204 subject204 34 1 1 1992
|
|
name205 subject205 34 1 1 1992
|
|
name206 subject206 34 1 1 1992
|
|
name207 subject207 34 1 1 1992
|
|
name208 subject208 34 1 1 1992
|
|
name209 subject209 34 1 1 1992
|
|
name210 subject210 34 1 1 1992
|
|
name211 subject211 34 1 1 1992
|
|
name212 subject212 34 1 1 1992
|
|
name213 subject213 34 1 1 1992
|
|
name214 subject214 34 1 1 1992
|
|
name215 subject215 34 1 1 1992
|
|
name216 subject216 34 1 1 1992
|
|
name217 subject217 34 1 1 1992
|
|
name218 subject218 34 1 1 1992
|
|
name219 subject219 34 1 1 1992
|
|
name220 subject220 34 1 1 1992
|
|
name221 subject221 34 1 1 1992
|
|
name222 subject222 34 1 1 1992
|
|
name223 subject223 34 1 1 1992
|
|
name224 subject224 34 1 1 1992
|
|
name225 subject225 34 1 1 1992
|
|
name226 subject226 34 1 1 1992
|
|
name227 subject227 34 1 1 1992
|
|
name228 subject228 34 1 1 1992
|
|
name229 subject229 34 1 1 1992
|
|
name230 subject230 34 1 1 1992
|
|
name231 subject231 34 1 1 1992
|
|
name232 subject232 34 1 1 1992
|
|
name233 subject233 34 1 1 1992
|
|
name234 subject234 34 1 1 1992
|
|
name235 subject235 34 1 1 1992
|
|
name236 subject236 34 1 1 1992
|
|
name237 subject237 34 1 1 1992
|
|
name238 subject238 34 1 1 1992
|
|
name239 subject239 34 1 1 1992
|
|
name240 subject240 34 1 1 1992
|
|
name241 subject241 34 1 1 1992
|
|
name242 subject242 34 1 1 1992
|
|
name243 subject243 34 1 1 1992
|
|
name244 subject244 34 1 1 1992
|
|
name245 subject245 34 1 1 1992
|
|
name246 subject246 34 1 1 1992
|
|
name247 subject247 34 1 1 1992
|
|
name248 subject248 34 1 1 1992
|
|
name249 subject249 34 1 1 1992
|
|
name250 subject250 34 1 1 1992
|
|
name251 subject251 34 1 1 1992
|
|
name252 subject252 34 1 1 1992
|
|
name253 subject253 34 1 1 1992
|
|
name254 subject254 34 1 1 1992
|
|
name255 subject255 34 1 1 1992
|
|
name256 subject256 34 1 1 1992
|
|
name257 subject257 34 1 1 1992
|
|
name258 subject258 34 1 1 1992
|
|
name259 subject259 34 1 1 1992
|
|
name260 subject260 34 1 1 1992
|
|
name261 subject261 34 1 1 1992
|
|
name262 subject262 34 1 1 1992
|
|
name263 subject263 34 1 1 1992
|
|
name264 subject264 34 1 1 1992
|
|
name265 subject265 34 1 1 1992
|
|
name266 subject266 34 1 1 1992
|
|
name267 subject267 34 1 1 1992
|
|
name268 subject268 34 1 1 1992
|
|
name269 subject269 34 1 1 1992
|
|
name270 subject270 34 1 1 1992
|
|
name271 subject271 34 1 1 1992
|
|
name272 subject272 34 1 1 1992
|
|
name273 subject273 34 1 1 1992
|
|
name274 subject274 34 1 1 1992
|
|
name275 subject275 34 1 1 1992
|
|
name276 subject276 34 1 1 1992
|
|
name277 subject277 34 1 1 1992
|
|
name278 subject278 34 1 1 1992
|
|
name279 subject279 34 1 1 1992
|
|
name280 subject280 34 1 1 1992
|
|
name281 subject281 34 1 1 1992
|
|
name282 subject282 34 1 1 1992
|
|
name283 subject283 34 1 1 1992
|
|
name284 subject284 34 1 1 1992
|
|
name285 subject285 34 1 1 1992
|
|
name286 subject286 34 1 1 1992
|
|
name287 subject287 34 1 1 1992
|
|
name288 subject288 34 1 1 1992
|
|
name289 subject289 34 1 1 1992
|
|
name290 subject290 34 1 1 1992
|
|
name291 subject291 34 1 1 1992
|
|
name292 subject292 34 1 1 1992
|
|
name293 subject293 34 1 1 1992"""
|
|
|
|
class MyApp(App):
|
|
def build(self):
|
|
with TimeCost('create widget') as tc:
|
|
dg = DataGrid(**desc)
|
|
Clock.schedule_once(self.loadData,1)
|
|
return dg
|
|
|
|
def loadData(self,t=None):
|
|
d = []
|
|
for t in data.split('\n'):
|
|
r = self.text2rec(t)
|
|
d.append(r)
|
|
with TimeCost('setData()') as tc:
|
|
self.root.setData(d)
|
|
return
|
|
|
|
def text2rec(self,text):
|
|
d = text.split('\t')
|
|
r = {}
|
|
for i,f in enumerate(desc['fields']):
|
|
r[f['name']] = d[i]
|
|
return r
|
|
|
|
def on_close(self,*args,**kwargs):
|
|
return True
|
|
|
|
myapp = MyApp()
|
|
appBlocksHack(myapp)
|
|
myapp.run()
|
|
tc = TimeCost('show')
|
|
tc.show()
|
|
|