列表界面有兩種,一種是普通的列表界面,一種是圖形列表界面,列表界面和菜單是差不多的,只是列表被應(yīng)用到了界面上面,更加方便操作
代碼:
import kuihua,e32
def cn(x):
return x.decode("utf-8")
def exit():#定義退出函數(shù)
kuihua.app.set_exit()
def ts0():#定義提示函數(shù)0
kuihua.note(cn("就喜歡我這么簡(jiǎn)單呀"),"conf")
def ts1(): #定義提示函數(shù)2
kuihua.note(cn("就知道你是很喜歡我的"),"conf")
def dz(): #定義一個(gè)動(dòng)作函數(shù)
index=lb.current()#獲得用戶動(dòng)作賦值給index
if(index==0):
ts0()#如果點(diǎn)擊的是第0個(gè),就調(diào)用ts0函數(shù),編程從0開始計(jì)算
if(index==1):
ts1()#同上
if(index==2):
exit()#同上
list=[cn("喜歡我"),cn("非常喜歡我"),cn("退出")]#賦值一個(gè)列表
appuifw.app.body=lb=appuifw.Listbox(list,dz)#將程序界面設(shè)置為列表界面
from e32 import Ao_lock#加載模塊##
lock=Ao_lock()##
appuifw.app.exit_key_handler=lock.signal#定義右鍵為釋放線程
lock.wait()#鎖定線程##
下載上面的lrc文件就是本段代碼了,改后綴py
現(xiàn)在我們先來(lái)講講我們以前沒有學(xué)過的內(nèi)容吧!
appuifw.app.body=lb=appuifw.Listbox(list,dz)
設(shè)置程序的界面為列表界面,將列表界面賦值給lb
lb.current()
current()是獲得用戶點(diǎn)擊的值,上面講到lb是被賦值的列表,lb.current()就是獲得lb列表中當(dāng)前選擇的項(xiàng)目
也就是說(shuō)獲得你點(diǎn)擊了那一個(gè)
kuihua.Listbox(list,dz)
這是將程序的界面定義為列表界面,里面有兩個(gè)參數(shù),他的格式是:
appuifw.Listbox(列表,動(dòng)作)
第一個(gè)參數(shù)是列表,表示這個(gè)列表有多少個(gè)選項(xiàng)和選項(xiàng)的名稱,請(qǐng)參考list的賦值
第二個(gè)參數(shù)是動(dòng)作,表示當(dāng)你在列表上面的某個(gè)選項(xiàng)點(diǎn)擊確定的時(shí)候就執(zhí)行什么函數(shù),在這里,我們執(zhí)行的是dz()函數(shù)
使用自定義函數(shù)的好處就是可以增加代碼的可視化程度,方面我們編輯,不然所有代碼都集合在一起的話就會(huì)變得很亂,一出問題的話,你找起來(lái)就會(huì)費(fèi)勁很多了!
在上面的代碼中,我們是一運(yùn)行就出現(xiàn)了列表界面,如果我們想通過菜單來(lái)調(diào)用的話,我們只需要修改一下上面的代碼就可以了
具體代碼如下:
代碼:
import kuihua,e32
def cn(x):return x.decode("utf-8")
kuihua.app.body=m=kuihua.Text(cn("葵花教程"))
def exit():
appuifw.app.set_exit()
def ts0():
kuihua.note(cn("就喜歡我這么簡(jiǎn)單呀"),"info")
def fh():
kuihua.app.body=m
def dz():
index=lb.current()
if(index==0):
ts0()
if(index==1):
fh()
def dklb():
kuihua.app.body=lb
list=[cn("喜歡我"),cn("返回")]
kuihua.app.body=lb=appuifw.Listbox(list,dz)
kuihua.app.body=m##
kuihua.app.menu=[(cn("打開列表"),dklb),(cn("退出"),exit)]
from e32 import Ao_lock#加載模塊##
lock=Ao_lock()##
kuihua.app.exit_key_handler=lock.signal#定義右鍵為釋放線程
lock.wait()#鎖定線程##
這個(gè)程序就是列表框的切換了,現(xiàn)在我給大家講講他的運(yùn)行方式吧!
1.加載kuihua和e32模塊
2.定義cn函數(shù),函數(shù)的功能是將參數(shù)解碼
3.設(shè)置界面為文本界面,并賦值給變量m,界面的內(nèi)容默認(rèn)是"悠悠魚o0教程"
4.定義exit函數(shù),函數(shù)的功能是退出
5.定義ts0函數(shù),函數(shù)功能是提示一個(gè)信息
6.定義fh函數(shù),函數(shù)的功能是將界面設(shè)置為文本界面
7.定義dz函數(shù),函數(shù)的功能是驗(yàn)證列表的點(diǎn)擊
8.定義dklb函數(shù),函數(shù)的功能是將界面設(shè)置為列表界面
9.將列表內(nèi)容賦值給變量list
10.設(shè)置界面為列表界面,并賦值給變量lb,并給予參數(shù),目的是為了加載
11.設(shè)置界面為文本界面,因?yàn)樯弦粭l函數(shù)設(shè)置成了列表,所以我們?cè)O(shè)置回來(lái)
12.設(shè)置左鍵菜單的項(xiàng)目
13.鎖住線程,為了不一閃而過