免费预览已结束,剩余1页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Python下用Tkinter进行GUI编程Python可用的GUI编程的包很多,Tkinter也是其中一个半标准的工具包。 作为一个老牌的Python GUI工具包(皮皮书屋里找了本书,竟然是2001年的),它由Tk GUI包装而来。在Windows版里面已经包括了,不用单独下载。 用Tkinter实现一个简单的GUI程序,单击click按钮时会在终端打印出hello world:_author_ = fybyfrom Tkinter import * #引入Tkinter工具包def hello(): print(hello world!)win = Tk() #定义一个窗体win.title(Hello World) #定义窗体标题win.geometry(400x200) #定义窗体的大小,是400X200像素btn = Button(win, text=Click me, command=hello)#注意这个地方,不要写成hello(),如果是hello()的话,#会在mainloop中调用hello函数,# 而不是单击button按钮时出发事件btn.pack(expand=YES, fill=BOTH) #将按钮pack,充满整个窗体(只有pack的组件实例才能显示)mainloop() #进入主循环,程序运行 当我们写一个较大的程序时,最好将代码分成一个或者是几个类,再看一下Hello World例子#-*- encoding=UTF-8 -*-_author_ = fybyfrom Tkinter import *class App: def _init_(self, master): #构造函数里传入一个父组件(master),创建一个Frame组件并显示 frame = Frame(master) frame.pack() #创建两个button,并作为frame的一部分 self.button = Button(frame, text=QUIT, fg=red, command=frame.quit) self.button.pack(side=LEFT) #此处side为LEFT表示将其放置 到frame剩余空间的最左方 self.hi_there = Button(frame, text=Hello, command=self.say_hi) self.hi_there.pack(side=LEFT) def say_hi(self): print hi there, this is a class example!win = Tk()app = App(win)win.mainloop() 看完了上面两个无聊的Hello World例子,再来看一个稍微Perfect点的东西吧。Menu组件,自己画一个像样点的程序外壳。#-*- encoding=UTF-8 -*-_author_ = fybyfrom Tkinter import *root = Tk()def hello(): print(hello)# 创建一个导航菜单menubar = Menu(root)menubar.add_command(label=Hello!, command=hello)menubar.add_command(label=Quit!,command=root.quit)root.config(menu=menubar)mainloop() 这个程序还是有点无趣,因为我们只是创建了一个顶级的导航菜单,点击后只是在终端中输出hello而已,下面来创建一个下拉菜单,这样才像一个正儿八经的应用在下面的这个例子中,会创建三个顶级菜单,每个顶级菜单中都有下拉菜单(用add_command方法创建,最后用add_cascade方法加入到上级菜单中去),为每个下拉选项都绑定一个hello函数,在终端中打印出hello. root.quit是退出这个Tk的实例。#-*- encoding=UTF-8 -*-_author_ = fybyfrom Tkinter import *root = Tk()def hello(): print(hello)def about(): print(我是开发者)menubar = Menu(root)#创建下拉菜单File,然后将其加入到顶级的菜单栏中filemenu = Menu(menubar,tearoff=0)filemenu.add_command(label=Open, command=hello)filemenu.add_command(label=Save, command=hello)filemenu.add_separator()filemenu.add_command(label=Exit, command=root.quit)menubar.add_cascade(label=File, menu=filemenu)#创建另一个下拉菜单Editeditmenu = Menu(menubar, tearoff=0)editmenu.add_command(label=Cut, command=hello)editmenu.add_command(label=Copy, command=hello)editmenu.add_command(label=Paste, command=hello)menubar.add_cascade(label=Edit,menu=editmenu)#创建下拉菜单Helphelpmenu = Menu(menubar, tearoff=0)helpmenu.add_command(label=About, command=about)menubar.add_cascade(label=Help, menu=helpmenu)#显示菜单root.config(menu=menubar)mainloop()写了这一些,差不多对Tkinter有了一个大体的印象了。在Python中用Tkinter绘制GUI界面还是蛮简单的。再把上面的例子扩展一下,和Label标签结合,当单击about的时候,在窗体上打印About的内容,而不是在终端输出。将about函数稍微修改一下。单击about以后将会调用about函数渲染frame绘制一个标签并显示其内容。def about(): w = Label(root,t
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 汕头市农村信用社联合社秋季校园招聘笔试备考题库(浓缩500题)及答案详解(全优)
- 2026年巢湖市农村信用社联合社秋季校园招聘笔试备考题库(浓缩500题)含答案详解(典型题)
- 梁平县农村信用社联合社秋季校园招聘笔试备考题库(浓缩500题)附答案详解(突破训练)
- 海南州农村信用社联合社秋季校园招聘笔试备考题库(浓缩500题)及一套参考答案详解
- 黑河市农村信用社联合社秋季校园招聘笔试备考题库(浓缩500题)附答案详解(培优a卷)
- 2026年绍兴市农村信用社联合社秋季校园招聘笔试备考题库(浓缩500题)含答案详解(黄金题型)
- 2026年湖州市农村信用社联合社秋季校园招聘笔试备考题库(浓缩500题)及答案详解(名校卷)
- 运城市农村信用社联合社秋季校园招聘笔试备考题库(浓缩500题)附答案详解(预热题)
- 吐鲁番地区农村信用社联合社秋季校园招聘笔试备考题库(浓缩500题)附答案详解(综合卷)
- 山西省农村信用社联合社秋季校园招聘笔试备考题库(浓缩500题)附答案详解(精练)
- 京东安全工程师笔试题库
- 2025年公共卫生流行病学理论试题及答案
- 2024年10月自考00182《公共关系学》真题及答案-
- 2025版校园食堂日管控、周排查、月调度记录表
- kpmg -2025年香港就业市场展望
- 2021年10月23日内蒙古事业单位联考C类职业能力倾向测验试题及答案(完整版)
- 【银行】外包风险评估报告模板
- 2025-2030年中国电力配网自动化市场现状调研及投资发展预测报告
- 小学新课标培训课件
- 《尿微量白蛋白mAbl》课件
- 第四届全国智能制造应用技术技能大赛决赛-仪器仪表制造工(仪器仪表与智能传感应用技术)赛项竞赛平台主要设备技术标准
评论
0/150
提交评论