snack程序设计
来源:互联网 发布:黑人和小女孩网络对唱 编辑:程序博客网 时间:2024/06/09 16:11
snack程序设计
Tweet
简介
Snac
创
清单1.创建snack一般步骤示例代码
from snack import *
screen = SnackScreen()
upperleft = Widget()
upperrrght = Widget()
lowerleft = Widget()
lowerright = Widget()
g = Grid(2, 2)
g.setFie ld(u pper left , 0, 0, (0,,0, 1, 1))
g.setFie ld(u pper righ t, 1, 0)
g.setFie ld(l ower left , 0, 1)
g.setFie ld(l ower righ t, 1, 1, growx = 1, growy =1)
f = Form()
f.add(g)
result = f.run()
screen.popWindow()
screen.finish()
代码解释如下。
首先调用screen = SnackScreen()将终端的
背景刷成 scr蓝色,直 到调 用 een. fini sh( )蓝色的 屏幕才能 消失 。 定制要使用的snack组件
upperleft = Widget()
upperrrght = Widget()
lowerleft = Widget()
lowerright = Widget()
使用gird设置组件的布局,
g = Grid(2, 2
),g为 2个Wi dge t宽 , 2个Widge t的网格 。 g.se
tFie ld(u pper left , 0, 0, (0, 0, 1, 1)):其 中 (0,0,1, 1 )表 示 (left, top, right, bott om ),用来 确定组件 周围的空 间 , g.se
tFie ld(u pper righ t, 1, 0) g.se
tFie ld(l ower left , 0, 1) g.se
tFie ld(l ower righ t, 1, 1, growx = 1, growy = 1):其中growx = 1, growy = 1指当组 件大小和 周围的不 一致时, 用来调整 大小 。 scre
en.g ridW rapp edWi ndow (g, "Title Text") 这句必须
调用,用 g绑定来 将 到一 win个 dow f = Form() f.add(g) result = f.run() screen.popWindow()
f将g加入到消息循环机制中
screen.finish()
退
出 snac k,否则 终端一直 crt呈现蓝色 ,无论 按 rl+ c或 者 ctrl+ z都不能 退 出
相关组件(Widget)介绍
组件详细介绍如表1所示。
表1.组件介绍
组件类
参数
方法
Button(text)
text: 显示的名称
(下同)
CompactButton(text)
同Button类,但显示的按钮更简洁
Checkbox
(text, isOn = 0)
isOn=0:未选中
isOn=1:选中
value(): 返回box是否被选中
Selected(): 返回box当前是否被选中
setF
Flag: FLAG_DISABLED
Sense:
FLAGS_SET:true
FLAGS_RESET:false
FLAG
SingleRadioButton
(text,group,isOn = 0)
grou
selected() :返回
Listbox(height,
scroll = 0,
returnExit = 0,
width = 0,
showCursor = 0):
列出可选
heig
scroll:是否显示滚动条;
returnExit: 如果
width:设置Listbox的宽度;
showCursor:值为1则List
append(text, item): 增加一个
Insert(text, item, before): 在bef
delete(item) : 删除选项item;
replace(text, item): 将item当前的名称替换为text;
current(): 返回用户当前的选项的item;
setCurrent(item): 设置item为当前选项;
clear(): 清空Listbox内的所有选项。
Textbox(width,
height, text,
scroll = 0,
wrap = 0)
显示文本
scroll:设置有无滚动条;
wra
setText(text): 设置在Textbox上显示的文本
Scale(width, total)
进度条组件
total: 进度条显示的最大值
set(amount): 用来设置当前进度,其中amount是一个0到total之间的数,
Entry(width,
text = "",
hidden = 0,
password = 0,
scroll = 1,
returnExit = 0)
输入框
width:输入文本的大小;
text:输入框的初始文本;
hidden:是否隐藏text;
pass
scro
valu
set(text): 设置当前要显示的文本为text
setFlags(flag, sense): 同Che
RadioBar(screen,
buttonlist)
用来创建
butt
add(title, value, default = None
getS
ButtonBar(screen, buttonlist): 提供一组buttons
Butt
Chec
由多个Checkbox对象组成。
append(text, item = None, selected = 0
getCurrent(): 返回光标高亮的元素;
getSelection(): 返回所有选中元素的list;
setEntry(item, text): 改变与item相关的text;
setEntryValue(item, selected = 1): 设置item是否选中;
getE
addItem(text, path, item = None, selected = 0)
addIterm详解
addI
清单2. addItem示例代码片段
tree = CheckboxTree(height = 5, scroll = 1)
tree.add Item ("Fi rst" ,(sna ckAr gs[' appe nd'] , ))
tree.add Item ("Se cond ",(sna ckAr gs[' appe nd'] , ))
tree.addItem("A", (0,snackArg s['a ppen d']) )
tree.addItem("B", (0,snackArg s['a ppen d']) )
tree.addItem("X", (0, 1,snackArg s['a ppen d']) )
开始tree只显示First和Sec
图1.开始显示的界面
图2.点击<+>后显示的界面
常用对话框示例
生成一个具有Listbox的窗口
清单3.生成Listbox窗口示例代码
ListboxC hoic eWin dow( scre en,titl e="L istb oxCh oice Wind ow Demo", text="List:",item s=[( "lis t1", 1),( "lis t2", 2)],
buttons = ('Ok', 'Cancel'), width = 40, scroll =0,
height = -1, default = None, help = None)
运行显示的界面如图3所示。
图3. ListboxChoiceWidnow示例界面
按钮窗口
清单4.按钮窗口示例代码
ButtonCh oice Wind ow(s cree n,titl e="B utto nCho iceW indo wDem o",
text= "text:", buttons = ['Ok','Cancel'],
width = 40, x = None, y = None, help = None)
运行结果如图4所示。
图4. ButtonChoiceWindow示例界面
输入框窗口
清单5.输入框窗口示例代码
EntryWindow(screen, title="E ntry Wind owDe mo",text="text:", prompts=["entry1", "entry2","entry3"], allowCancel = 1,
width = 40, entryWidth = 20, buttons = [ 'Ok','Cancel' ],
help = None)
运行结果如图5所示。
图5. EntryWindow示例界面
小结
snac
参考资源
http
://w ww.w anwa re.c om/t sgdo cs/s nack .htm l http
://w oolww.i bm.c om/d evel oper work s/cn /lin ux/g ui t kit/ newt /ind ex.h tm l
- snack程序设计
- 中南大学第十一届大学生程序设计竞赛-COJ1897-The price table of the snack store
- Java: Snack from Constructor
- python在linux(anaconda)的图形界面(snack)
- python在linux(anaconda)的图形界面(snack)
- 程序设计
- 程序设计
- 程序设计
- 程序设计
- 程序设计
- 程序设计
- 程序设计
- 程序设计
- 程序设计
- 程序设计
- 程序设计
- 程序设计
- 程序设计
- Android应用启动优化:一种DelayLoad的实现和原理
- 测试
- 指针和引用的区别
- 自定计算金额
- 【转】lettuce介绍
- snack程序设计
- 采用归并排序算法查找两个字符串数组中的不同数据
- Linux远程使用图形界面
- power_saving导致的负载过高[已解决]
- Unity各种路径
- data factory快速生成大批量数据
- 函数篇之2——匿名函数
- C/Cpp指针
- 一个正则表达式测试(只可输入中文、字母和数字)