python之图形界面GUI开发 Tkinter 2014-4-7
1.导入Tkinter 可以使用以下三种方法
(1)from Tkinter import *
#导入Tkinter
(2)import Tkinter
Tkinter.methodA
使用 Tkinter.methodA这样就不会污染其他命名空间
(3)import Tkinter as Tk
Tk.methodA
重新定义了一个Tk 使用 Tk.methodA这样也就不会污染其他命名空间
作为GUI需要考虑3个问题
屏幕上显示什么样的界面
图形怎么编排坐标
如何人机交互(事件绑定)
from Tkinter import *
root=Tk()
mylabel=Label(root,text="I am a label widget")
mybutton=Button(root,text="I am a button")
mylabel.pack()
mybutton.pack()
root.mainloop()
mylabel=Label(root,text="I am a label widget")
mylabel.pack()
等同于Label(root,text="I am a label widget").pack()
如果其他地方不需要调用或者修改 就不用赋值给变量(mylabel)
Tkinter核心组件
部件 描述
Button 一个简单的按钮,用于执行命令或其他操作。
Canvas 结构化图形,该部件可用于绘制图形或图表、创建图形编辑器以及实现定制部件。
Checkbutton 代表一个可拥有两个不同值的变量,点击按钮可以在两个值之间进行切换。
Entry 一个文本输入框。
Frame 一个容器部件。该框架可以拥有一个边框和背景,当创建一个程序的程序或对话布局时可用于集合其他部件
Label 显示一个文本或图像。
Listbox 显示一个替换列表。该列表框可被设置为接收单选框或清单行为。
Menu 一个菜单面板。用于实现下拉和弹出菜单项。
Menubutton 一个菜单按钮。用于实现下拉菜单项。
Message 显示一个文本。类似于标签部件,但可以将文本自动绑定为给定的宽度或宽高比。
Radiobutton 代表可拥有多个值的变量的一个值。点击按钮可使变量获取该值并同时清除所有与该变量相关的复选框按钮
Scale 允许你通过拖拽"滑块"来设置数值
Scrollbar 用于画板、输入框、列表框和文本部件的标准滚动条
Text 格式化文本显示。允许你使用各种样式和属性显示或编辑文本。同时还支持嵌入图像或窗口。
Toplevel 作为一个分割的顶层窗口显示的容器部件
调用核心组件
组件名(父窗口,参数)
from Tkinter import *
root=Tk()
#Label(root, text=" Enter your Password:").pack()
#Button(root, text="Search").pack()
#Checkbutton(root, text='RememberMe',variable='v', value=True).pack()
#Entry(root, width=30).pack()
Frame(root,width=500,height=200).pack()
root.mainloop()
图形布局有三种方法
pack()简单布局
grid()常用 类似于表格布局 网格布局
place() 最不常用 但是可以用于绝对定位
pack():
from Tkinter import *
root = Tk()
Button(root, text="A").pack(side=LEFT, expand=YES, fill=Y)
Button(root, text="B").pack(side=TOP, expand=YES, fill=BOTH)
Button(root, text="C").pack(side=RIGHT, expand=YES, fill=NONE, anchor=NE)
Button(root, text="D").pack(side=LEFT, expand=NO, fill=Y)
Button(root, text="E").pack(side=TOP, expand=NO, fill=BOTH)
Button(root, text="F").pack(side=RIGHT, expand=NO, fill=NONE)
Button(root, text="G").pack(side=BOTTOM, expand=YES, fill=Y)
Button(root, text="H").pack(side=TOP, expand=NO, fill=BOTH)
Button(root, text="I").pack(side=RIGHT, expand=NO)
Button(root, text="J").pack(anchor=SE)
root.mainloop()
side=TOP, anchor=SE
side='top', anchor='se'
大写 或者小写加引号等价的
pack()使用情况:
需要填满 或者 挨个排列布局的话会用到

grid()最常用
以下代码建立一个登陆框
username:
password:
login
from Tkinter import *
root = Tk()
Label(root, text="Username").grid(row=0, sticky=W)
Label(root, text="Password").grid(row=1, sticky=W)
Entry(root).grid(row=0, column=1, sticky=E)
Entry(root).grid(row=1, column=1, sticky=E)
Button(root, text="Login").grid(row=2, column=1, sticky=E)
root.mainloop()
#sticky=W表示 从西边开始排列(左手边)
#column 表示从左到右排列
#row从上到下排序 如无排列则为空 依然紧挨着(column=1,另外一个column为3 则为3的会紧挨着为1的 因为没有2)

#一个搜索框代码
from Tkinter import *
top = Tk()
top.title('Find & Replace')
Label(top,text="Find:").grid(row=0, column=0, sticky='e')
Entry(top).grid(row=0,column=1,padx=2,pady=2,sticky='we',columnspan=9)
Label(top, text="Replace:").grid(row=1, column=0, sticky='e')
Entry(top).grid(row=1,column=1,padx=2,pady=2,sticky='we',columnspan=9)
Button(top,text="Find").grid(row=0,column=10,sticky='ew',padx=2,pady=2)
Button(top,text="Find All").grid(row=1,column=10,sticky='ew',padx=2)
Button(top,text="Replace").grid(row=2,column=10,sticky='ew',padx=2)
Button(top,text="Replace All").grid(row=3,column=10,sticky='ew',padx=2)
Checkbutton(top,text='Match Whole word only').grid(row=2,column=1,columnspan=4,sticky='w')
Checkbutton(top,text='Match Case').grid(row=3,column=1,columnspan=4,sticky='w')
Checkbutton(top,text='Wrap around').grid(row=4,column=1,columnspan=4,sticky='w')
Label(top,text="Direction:").grid(row=2,column=6,sticky='w')
Radiobutton(top,text='Up',value=1).grid(row=3,column=6,columnspan=6,sticky='w')
Radiobutton(top,text='Down',value=2).grid(row=3,column=7,columnspan=2,sticky='w')
top.mainloop()

python之图形界面GUI开发 Tkinter 2014-4-7的更多相关文章
- python简单图形界面GUI入门——easygui【转】
原文:https://blog.csdn.net/mingqi1996/article/details/81272621 感觉gui做起来成就感比较高,学完基础语言顺便花一个下午看看GUI设计,现在回 ...
- 第十五章 使用PyQt进行Python图形界面程序开发
在基础知识部分的最后一章<第十三章 Python基础篇结束章>的<第13.3节 图形界面开发tkinter>简单介绍了Python内置图形界面标准库tkinter,当时特别强调 ...
- php 图形用户界面GUI 开发
php 图形用户界面GUI 开发 一.下载指定系统扩展 1 2 http://pecl.php.net/package/ui http://pecl.php.net/package/ui/2.0.0/ ...
- AWT提供了Java Applet 和Java Application中可用的用户图形界面 GUI 中的基本组件
AWT提供了Java Applet 和Java Application中可用的用户图形界面 GUI 中的基本组件( component s). 由于Java是一种独立于平台的 程序设计语言 ,但GUI ...
- Java图形界面GUI
Java图形界面GUI 设置窗体JFrame对象 package com.Aha.Best; import javax.swing.ImageIcon; import javax.swing.JFra ...
- Go 在 Windows 上用户图形界面 GUI 解决方案 Go-WinGUI 国产(使用cef 内核)
Go 在 Windows 上用户图形界面 GUI 解决方案 Go-WinGUI 国产 Go 在服务端的优势不容置疑,但是在桌面应用上却没有好的 GUI 支持,本项目是 Go 语言在 Windows 上 ...
- python桌面端开发手记(序列化、压缩包、加密、图形界面GUI)
0x00 前段时间接到一个小项目是给某行业内部开发离线桌面端,业务流实现上总体分信息录入.加密导出.因为是win桌面端,所以老板说依托Access用VBA做,我据理力争了一下.之前就是用Acces ...
- 使用PyQt进行Python图形界面程序开发文章目录
☞ ░ 前往老猿Python博文目录 ░ PyQt入门知识原来是作为老猿Python<Python基础教程目录>后的进阶学习章节存在,最近不少专栏作者提醒老猿整体的博文内容不错,但博文没有 ...
- python大法好——ython GUI编程(Tkinter)
Python GUI编程(Tkinter) Python 提供了多个图形开发界面的库,几个常用 Python GUI 库如下: Tkinter: Tkinter 模块(Tk 接口)是 Python 的 ...
随机推荐
- Python Selenium设计模式 - PO设计模式
整理一下python selenium自动化测试实践中使用较多的po设计模式. 为什么要用PO 基于python selenium2开始开始ui自动化测试脚本的编写不是多么艰巨的任务.只需要定位到元素 ...
- .net core跨域设置
services.AddCors(options => options.AddPolicy("AllowSameDomain", builder => builder. ...
- Relative path in absolute URI: ${system:java.io.tmpdir%7D/$%7Bhive.session.id%7D_resources
原因:环境变量设置问题 <property> <name>Hive.exec.local.scratchdir</name> <value> ...
- [ POI 2017 ] Sabota?
Description 题目链接 Solution 因为一个节点染黑了子树就都被染黑了,所以最后染黑的点集必然是一棵子树. 可以得出的结论是,如果被染黑的节点在节点 \(a\) 的子树中,而 \(a\ ...
- CPLD
复杂可编程逻辑器件(Complex Programmable Logic Device, CPLD),CPLD适合用来实现各种运算和组合逻辑(combinational logic).一颗CPLD内等 ...
- 纯手写的css3正方体旋转效果
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- 求N个数的最大公约数
使用 “辗转相除法” 计算2个数的最大公因数: int GCD_2(int nNum1, int nNum2) { if (nNum1 > nNum2) { nNum1 = nNum1 ^ nN ...
- UVA 10900 So you want to be a 2n-aire? 2元富翁 (数学期望,贪心)
题意:你一开始有1元钱,接下来又n<=30个问题,只需答对1个问题手上的钱就翻倍,最多答对n个,得到的钱是2n.而每个问题答对的概率是[t,1]之间平均分布,那么问最优情况下得到奖金的期望值是多 ...
- windows快捷键cmd中
windows 中cmd中命令: cls ---------> 清屏 dir ----------> 获取目录 Ctrl + c ----> 结束当前命令 cd .. ------ ...
- Logisim的使用
准备 通过Logisim的官网下载适合你机器的Logisim的软件,启动Logisim应用程序(Logisim可能有点bug,如果程序运行诡异,可能内部已经奔溃,最好的解决方法是重新启动它). Log ...