snack是一个用于在linux制作图形界面(GUI)的模块,该模块由c编写,而且redhat的系统都自带这个模块。
1.获取模块
虽然redhat系统会自带这个模块,但是直接去import snack会提示找不到模块,一个原因是我们重装了系统的python,所以如果直接import不能找到模块,可以通过find命令查找
find / -name snack.py
找到的结果:/usr/lib64/python2.6/site-packages/snack.py
只需要在目录/usr/lib64/python2.6/site-packages/下复制snack.py和_snackmodule.so这两个文件复制出来拉到项目中,就能通过from snack import * 来导入snack模块
2.一个snack的demo
#encoding=utf-8
__author__ = 'kevinlu1010@qq.com'
import traceback
from snack import *
screen = SnackScreen() #实例化一个snack界面
def window():
btn1 = Button('按钮1') #实例化一个按钮组件
btn2 = Button('按钮2') #实例化一个按钮组件
g = Grid(2, 1) #实例化一个两列,一行的网格
g.setField(btn1, 0, 0) #把组件填充到网格中
g.setField(btn2, 1, 0)
screen.gridWrappedWindow(g, "我的界面")
f = Form() #实例化一个form
f.add(g) #把网格填充到form
result = f.run()
screen.popWindow()
def main():
try:
window()
except:
print traceback.format_exc()
finally:
screen.finish() #关闭snack界面
return ''
main()
实例化一个SnackScreen后,程序结束时,一定要调用finish,不然终端就会一直显示蓝色的页面,而且该终端已经不可以用了。所以在调试的