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的更多相关文章

  1. python简单图形界面GUI入门——easygui【转】

    原文:https://blog.csdn.net/mingqi1996/article/details/81272621 感觉gui做起来成就感比较高,学完基础语言顺便花一个下午看看GUI设计,现在回 ...

  2. 第十五章 使用PyQt进行Python图形界面程序开发

    在基础知识部分的最后一章<第十三章 Python基础篇结束章>的<第13.3节 图形界面开发tkinter>简单介绍了Python内置图形界面标准库tkinter,当时特别强调 ...

  3. php 图形用户界面GUI 开发

    php 图形用户界面GUI 开发 一.下载指定系统扩展 1 2 http://pecl.php.net/package/ui http://pecl.php.net/package/ui/2.0.0/ ...

  4. AWT提供了Java Applet 和Java Application中可用的用户图形界面 GUI 中的基本组件

    AWT提供了Java Applet 和Java Application中可用的用户图形界面 GUI 中的基本组件( component s). 由于Java是一种独立于平台的 程序设计语言 ,但GUI ...

  5. Java图形界面GUI

    Java图形界面GUI 设置窗体JFrame对象 package com.Aha.Best; import javax.swing.ImageIcon; import javax.swing.JFra ...

  6. Go 在 Windows 上用户图形界面 GUI 解决方案 Go-WinGUI 国产(使用cef 内核)

    Go 在 Windows 上用户图形界面 GUI 解决方案 Go-WinGUI 国产 Go 在服务端的优势不容置疑,但是在桌面应用上却没有好的 GUI 支持,本项目是 Go 语言在 Windows 上 ...

  7. python桌面端开发手记(序列化、压缩包、加密、图形界面GUI)

    0x00   前段时间接到一个小项目是给某行业内部开发离线桌面端,业务流实现上总体分信息录入.加密导出.因为是win桌面端,所以老板说依托Access用VBA做,我据理力争了一下.之前就是用Acces ...

  8. 使用PyQt进行Python图形界面程序开发文章目录

    ☞ ░ 前往老猿Python博文目录 ░ PyQt入门知识原来是作为老猿Python<Python基础教程目录>后的进阶学习章节存在,最近不少专栏作者提醒老猿整体的博文内容不错,但博文没有 ...

  9. python大法好——ython GUI编程(Tkinter)

    Python GUI编程(Tkinter) Python 提供了多个图形开发界面的库,几个常用 Python GUI 库如下: Tkinter: Tkinter 模块(Tk 接口)是 Python 的 ...

随机推荐

  1. Mysql的外键

    概念:如果一个实体A的某一字段,刚好指向或引用另一个实体B的主键,那么实体A的这个字段就叫作外键,所以简单来说,外键就是外面的主键,就是其他表的主键. 例: 以上的学生表的班级字段,就是一个外键! 其 ...

  2. 接口测试_RESTClient基本使用

    火狐浏览器插件RESTClient基本使用. 消息头: Content-Type : application/x-www-form-urlencoded

  3. 前端的百度地图的api的使用

    1.打开百度地图官方api网页 http://lbsyun.baidu.com/ 2.点击开发文档 3.选择对应的api 4.点击DEMO详情 5.得到源码复制到你的代码中 <!DOCTYPE ...

  4. poj2385 Apple Catching

    思路: 简单dp. 实现: #include <iostream> #include <cstdio> #include <cstring> using names ...

  5. 移动端1px边框伪类宽高计算

    移动端1px边框在手机上看显得比较粗,于是我们用伪类结合css3缩放的方法去设置线条,但是如果设置div的一条边,水平线就设置宽度100%,垂直线就设置高度100%,那么如果是div的四条边呢?宽高1 ...

  6. SPOJ COT2 Count on a tree II (树上莫队,倍增算法求LCA)

    题意:给一个树图,每个点的点权(比如颜色编号),m个询问,每个询问是一个区间[a,b],图中两点之间唯一路径上有多少个不同点权(即多少种颜色).n<40000,m<100000. 思路:无 ...

  7. mybatis+oracle 完成插入数据库,并将主键返回的注意事项

    mybatis+oracle 完成插入数据库,并将主键返回的注意事项一条插入语句就踩了不少的坑,首先我的建表语句是: create table t_openapi_batch_info( BATCH_ ...

  8. js 字符串截取 substring() 方法、 substr() 方法、slice() 方法、split() 、join();

    三种 js 截取字符串的方法: substring() 方法: substr() 方法: slice() 方法: 1.:substring() 方法:string.substring(from, to ...

  9. Linux一些常用小命令

    使用xshell连接虚拟机 rz 上传的linux服务器 sz 从服务器上下载 df 查看磁盘大小 -h du 查看所有磁盘(硬盘)大小(-h 可读  -s统计当前目录的大小)du -sh free ...

  10. JS:输出9*9乘法表

    <html> <head> <title>9*9 multiplication table</title> </head> <body ...