最近用python的Tkinter框架写了一个桌面小程序,来实现汉语和蒙语的互译,虽说Tkinter的界面有点丑,肯定不及新兴的pyqt美观,但考虑到以后可能不会过多涉及桌面程序,就讲究用它来写了,毕竟之前有一点点小小的基础。这篇文章中会指出一些实际应用中的例子,如果需要详细了解Tkinter的细节,可以点击我下方推荐的blog进行查看。同时在数据导入过程中涉及到了excel表格,也顺便写下来分享。
操作excel表格
python 作为数据处理的一门优秀语言,在爬虫和数据挖掘领域有着较高的地位,所以不可避免的需要对excel表格进行操作,来存入和读取数据,这其中就要用到xlrd模块(当然还有其他的模块),下面就来介绍它:
首先,xlrd模块需要通过pip install
来安装:
|
|
第一步,先导入此模块:
|
|
第二步,先用xlrd的open__workbook(‘filename’)来打开要读取数据的xlxs文件:
1
f1 = xlrd.open_workbook('filename')
第三步,选择要操作的sheet:
第四步,对行和列的操作:
对excel表格的操作就介绍到这里,如需深入请自行百度
介绍完xlrd,导入了字典数据仅数据库后,我们就需要构建一个gui界面来实现对数据的增删查改了.
GUI功能简介
- 登录注册
- 蒙汉互译
- 后台管理
其实Tkinter的语法很简单,有类似html的一些表单控件,基本理念是先定义一个大窗口,然后将其余的小窗口绑定到这个
大窗口里面,最后再用pack,grid,place三个方法中的一个来进行位置的布局.
先拿主界面来进行举例:
稍微解释一下:
一般一个控件定义的第一个参数是要绑定的父元素,其后一般会有如text,command的选项,再后面就是用pack,grid,place来进行布局,可以接受padx,ipadx之类的参数,跟html很类似。
这里涉及到一个问题,就是对一个label或者其他的控件我们可以直接以label1=Label(options=parameters).pack()的形式来定义,但是这样做会导致后面出现一些小问题,假如我们再用label1.config()来对它进行配置,就会出现如 ‘NoneType’ object has no attribute 这样的提示,解释下原因:
pack()函数返回的是空值,所以并不具有config等函数可以调用,我们需要分成两步来写,
这样就不会出现上面的报错了。
我实现的三个功能中用的最多的还是Button,Entry,text三个控件,下面简单介绍下它们:
Entry即输入框,通过它我们可以获得用户输入,进行后续操作
获取输入框的输入数据要调用get方法:
|
|
在输入框中插入字符要用insert方法:
button即按钮,通过其中绑定的command函数,我们可以触发相关事件:
定义好函数后,点击这个按钮就能够跳转到函数体内执行了。
最后的text为文本框,用户可以输入多行文本,也可以调用insert方法进行插入,可以参考上面的entry。
对Tkinter的简单介绍就到这里了,如需要进行更多的了解,请点击下面的博客链接