#导入tkinter模块,以及导入ttk模块,tkinter是python结合tk的标准接口,ttk是TK8.5之后加入的“主题化工具包”

from tkinter import *

from tkinter import ttk

#定义的计算函数,完成英尺到米的换算

def calculate(*args):

try:

value = float(feet.get())

meters.set((0.3048 * value * 10000.0 + 0.5)/10000.0)

except ValueError:

pass

'''

创建了一个主窗口;

主窗口标题为:“Free to Meters”

通过ttk.Frame创建了一个框架容器;所以界面内容都放在框架中,并把框架放在主窗口root中;

通过grid指定框架的位置,以及对齐方式:sticky说明使用罗盘式方位,控件将要如何在网格单元格里排放(NWES分别表示上左右下);

columnconfigure方法告诉tk自适应宽度;

rowconfigure方法告诉tk自适应高度

'''

root = Tk()

root.title("Feet to Meters")

mainframe = ttk.Frame(root, padding="3 3 12 12")

mainframe.grid(column=0, row=0, sticky=(N, W, E, S))

mainframe.columnconfigure(0, weight=1)

mainframe.rowconfigure(0, weight=1)

feet = StringVar()

meters = StringVar()

feet_entry = ttk.Entry(mainframe, width=7, textvariable=feet)

feet_entry.grid(column=2, row=1, sticky=(W, E))

ttk.Label(mainframe, textvariable=meters).grid(column=2, row=2, sticky=(W, E))

ttk.Button(mainframe, text="Calculate", command=calculate).grid(column=3, row=3, sticky=W)

ttk.Label(mainframe, text="feet").grid(column=3, row=1, sticky=W)

ttk.Label(mainframe, text="is equivalent to").grid(column=1, row=2, sticky=E)

ttk.Label(mainframe, text="meters").grid(column=3, row=2, sticky=W)

'''

检查框架内的所有控件,并在每个控件之间增加一点距离,使他们看起来没那么拥挤;

告诉tk把注意力转移到我们的输入框上;也就是说在开始的时候,光标默认会在输入框,当用户输入的时候不需要去单击

告诉tk用户按下了回车键和单击计算按钮是一样的,会调用计算程序段

'''

for child in mainframe.winfo_children(): child.grid_configure(padx=5, pady=5)

feet_entry.focus()

root.bind('', calculate)

#tk让他的事件循环,这样才能让所有的事件运行

root.mainloop()

python3 tkinter详解_详解python3中tkinter知识点相关推荐

  1. python的tkinter插入图片_详解python tkinter 图片插入问题

    通过tkinter.PhotoImage插入GIF, PGM/PPM格式的图片. import tkinter class Gui: def __init__(self): self.gui=tkin ...

  2. 用python3做学生管理系统_详解用python实现基本的学生管理系统(文件存储版)(python3)...

    详解用python实现基本的学生管理系统(文件存储版)(python3) 来源:中文源码网    浏览: 次    日期:2019年11月5日 详解用python实现基本的学生管理系统(文件存储版)( ...

  3. python3 yield 大文件_详解Python3中yield生成器的用法

    任何使用yield的函数都称之为生成器,如: def count(n): while n > 0: yield n #生成值:n n -= 1 另外一种说法:生成器就是一个返回迭代器的函数,与普 ...

  4. python3.3psutil模块安装_详解Python3.6安装psutil模块和功能简介

    一.psutil模块 1. psutil是一个跨平台库,能够轻松实现获取系统运行的进程和系统利用率(包括CPU.内存.磁盘.网络等)信息.它主要应用于系统监控,分析和限制系统资源及进程的管理.它实现了 ...

  5. python3读文件中文_详解Python3解决读取中文文件txt编码的问题

    import jieba import jieba.analyse from matplotlib import pyplot as plt from scipy.misc import imread ...

  6. 正则表达式符号特殊详解_常用正则表达式_Java中正则表达式的使用

    正则表达式符号详解 限定符: 指定一个组件必须出现多少次才能满足. 1.使用 "*", "+", "?" 作为限定符: "*&qu ...

  7. 名片管理系统python详解_详解Python做一个名片管理系统

    详解Python做一个名片管理系统 来源:中文源码网    浏览: 次    日期:2019年11月5日 [下载文档:  详解Python做一个名片管理系统.txt ] (友情提示:右键点上行txt文 ...

  8. 框架详解_详解:python Web框架flask表单实现(建议收藏)

    今天为大家带来的内容是:python框架flask表单实现详解 文章内容主要介绍了python框架flask表单实现详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需 ...

  9. 0编译器详解_详解Java枚举类型(Enum)中的方法

    文章前记 程序员工作久了便可能整日忙碌于"增删改查"中,迷失方向,毫无进步. 该公众号致力于分享软件开发相关的原创干货,助你完成从程序员到架构师的进阶之路! 努力!做一个NB的Co ...

最新文章

  1. OpenCV在ARM上的移植
  2. Windows Server 2008 R2 DNS 服务器迁移方法
  3. ​来,一起搞AV,LiveVideoStack Meet再启动
  4. vue-cli proxy中跨域中pathRewrite配置理解
  5. 2.1)深度学习笔记:深度学习的实践层面
  6. 别再搜集面经啦!小夕教你斩下NLP算法岗offer!
  7. PyCharm 设置背景图片
  8. 2022-01-10总结
  9. C++_auto_ptr与unique_ptr智能指针
  10. l298n电机哪一端为正_L298N使用说明介绍
  11. 独家可用发卡小程序源码下载卡密系统支持多种卡密领取模式流量主内附教程
  12. 如何用Java的Robot完成模拟鼠标移动和键盘输入(可应用刷网课)
  13. Web前端工程师工资逐年增长,背后有哪些因素?
  14. 职场Word使用技巧大全,太实用了
  15. NEO的至暗时刻 |链捕手
  16. 入门Python需要掌握的技能有哪些?
  17. oracle字符串之间,oracle中判断字符串之间包含关系
  18. 简单个人静态HTML网页设计作品 基于HTML+CSS+JavaScript仿小米手机网站 html静态在线购物商城网页制作
  19. python怎么编译dex_用python一步步解剖dex文件(二)
  20. 解决 ffmpeg yasm not found, use --disable-yasm for a crippled build

热门文章

  1. 那个做外包的程序员,最后被裁了!
  2. mysql优化分析expalian和show profiles
  3. SPARC中如何安装Linux系统(1)(转)
  4. 炒股第三招【比价技巧】
  5. 深度学习之利用卷积神经网络预测股票走势
  6. ET工业大脑 将大规模落地江苏
  7. Parrot linux 开机启动提示[TOMOYO] Problem starting the computer更新完重启开机的时候出现的这个提示。...
  8. api-ms-win-crt-runtime-l1-1-0.dll丢失找不到解决方法
  9. 股指期货模拟交易有什么作用?
  10. python对平面设计帮助_23个技巧帮助成为一名优秀的平面设计师