使用python的Tkinter构建应用程序
2013-04-01 13:07
423 查看
这一节记录的是我在使用python tkinter时的一些笔记。
背景:现在需要构建一个简易的聊天工具,说简易是因为确实只需要很简单的几个界面,包括一个登陆界面、一个好友列表和单击好友时弹出好友对话框可以交谈,我们这里只需要创建简单的界面(不包括业务),所以选择用tkinter这个模块来实现。
要点一、神马是tkinter?
Tkinter模块("Tk 接口")是Python的标准Tk GUI工具包的接口.Tk和Tkinter可以在大多数的Unix平台下使用,同样可以应用在Windows和Macintosh系统里.,Tk8.0的后续版本可以实现本地窗口风格,并良好地运行在绝大多数平台中.(摘自百度百科)想要查看你的Tkinter版本,只需要在python命令行模式下输入print Tkinter.TkVersion即可,笔者的版本是8.5。
要点二、安装
一般情况下,安装python时,自带安装了Tkinter,并且与python的版本相对应,例如python2.7.3对应的应该是8.5版本,其余的我倒不是很熟悉。但有些预安装的python可能没有带上tkinter,例如我在虚拟机Fedora17上的python并没有自带tkinter,这时候解决办法是使用yum install tkinter命令即可。
要点三、登陆框
View Code
效果如图:
背景:现在需要构建一个简易的聊天工具,说简易是因为确实只需要很简单的几个界面,包括一个登陆界面、一个好友列表和单击好友时弹出好友对话框可以交谈,我们这里只需要创建简单的界面(不包括业务),所以选择用tkinter这个模块来实现。
要点一、神马是tkinter?
Tkinter模块("Tk 接口")是Python的标准Tk GUI工具包的接口.Tk和Tkinter可以在大多数的Unix平台下使用,同样可以应用在Windows和Macintosh系统里.,Tk8.0的后续版本可以实现本地窗口风格,并良好地运行在绝大多数平台中.(摘自百度百科)想要查看你的Tkinter版本,只需要在python命令行模式下输入print Tkinter.TkVersion即可,笔者的版本是8.5。
要点二、安装
一般情况下,安装python时,自带安装了Tkinter,并且与python的版本相对应,例如python2.7.3对应的应该是8.5版本,其余的我倒不是很熟悉。但有些预安装的python可能没有带上tkinter,例如我在虚拟机Fedora17上的python并没有自带tkinter,这时候解决办法是使用yum install tkinter命令即可。
要点三、登陆框
View Code
# coding=UTF-8 import Tkinter from Tkinter import * from myDialog import * from datetime import * class Chat(Dialog): def __init__(self,master,title,obj,me): self.obj = obj self.me = me t = u"与 "+obj['name']+u" 聊天中" Dialog.__init__(self,master,t) def apply(self): dt= datetime.now() timestr = u'%s于%s说: \n' % (self.me['name'],dt.strftime('%c')) msg = self.input.get(1.0,END) if msg.strip() == "": return False self.insertmessage(timestr+msg) self.input.delete(1.0,END) self.text.yview(MOVETO, 1.0) pass def body(self,master): self.geometry("680x480") self.resizable(False,False) frame = Frame(master) Label(frame,text="聊天记录:").pack(padx=5,pady=5) frame.grid(row=0,sticky=W) frame = Frame(master) frame.grid(row=1) self.text_scrollbar = Scrollbar(frame, orient=VERTICAL) self.text = Text(frame,yscrollcommand= self.text_scrollbar.set,height=14,bg="white") self.text_scrollbar.config(command=self.text.yview) self.text_scrollbar.pack(side=RIGHT, fill=Y) self.text.bind("<KeyPress>", lambda e : "break") self.text.pack() frame = Frame(master) Label(frame,text="输入聊天信息:").pack(padx=5,pady=5) frame.grid(row=2,sticky=W) frame = Frame(master) frame.grid(row=3) scrollbar = Scrollbar(frame, orient=VERTICAL) self.input = Text(frame,yscrollcommand=scrollbar.set,height=8,bg="white") scrollbar.config(command=self.input.yview) scrollbar.pack(side=RIGHT,fill=Y) self.input.pack(fill=Y) #插入聊天信息(显示在聊天框) def insertmessage(self,msg): self.text.insert(END,msg+"\n") pass #设置对话框标题 def setTitle(self,title): self.title(title) pass def ok(self,event=None): self.apply() pass def cancel(self,event=None): self.obj["open"] = "no" print "set open %s to no"%self.obj['name'] Dialog.cancel(self,event) if __name__ == "__main__": print "开放的"
效果如图:
![](http://images.cnitblog.com/blog/499282/201304/01130626-332ea9d4fe184dda926ce942ecb15b5b.jpg)
相关文章推荐
- ubuntu 下使用 Python 和 SL4A 的 Android 应用程序构建您自己的android开发环境
- linux 下使用 CMake 构建应用程序
- 使用silverlight4 Business构建企业级应用程序(一)——多语言支持
- Python 使用由单链表构建的数组实现有边际优先队列 (基于class, 包含迭代器)
- Python Tkinter库的简单使用
- Python(16)python使用tkinter实现一个简单的计算器
- 使用eclipse和JavaFX Scene Builder进行快速构建JavaFX应用程序
- [代码笔记] python 之 堆栈与队列 _使用推导式构建
- 使用 jQuery,第 3 部分:用 jQuery 和 Ajax 构建富 Internet 应用程序
- 解决python中使用matplotlib时候出现ImportError: No module named _tkinter
- 使用 Node.js 和 IBM Mobile Web Push 构建一个实时的营销应用程序
- python 使用原有函数构建新函数(偏函数)
- 使用csc.exe构建C#应用程序
- 使用tkinter,用直方图动画表示排序过程的python代码
- 使用 JavaFX 构建 GUI 应用程序-教程概述
- 使用缓存构建更快的 Web 应用程序
- 使用缓存构建更快的 Web 应用程序
- 使用 Jo 和 PhoneGap 构建本地移动应用程序
- 使用virtualenv构建python虚拟环境
- 使用 IBM Rational Functional Tester测试 Windows 应用程序: 如何构建结构良好的测试框架