返回顶部
首页 > 资讯 > 后端开发 > Python >Tkinter怎么在python中使用
  • 483
分享到

Tkinter怎么在python中使用

2023-06-14 11:06:14 483人浏览 独家记忆

Python 官方文档:入门教程 => 点击学习

摘要

这期内容当中小编将会给大家带来有关Tkinter怎么在python中使用,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。from tkinter import *from&nb

这期内容当中小编将会给大家带来有关Tkinter怎么在python中使用,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

from tkinter import *from tkinter import ttkdef calculate(*args):    try:        value = float(feet.get())        meters.set((0.3048 * value * 10000.0 + 0.5)/10000.0)    except ValueError:        passroot = Tk()root.title("Feet to Meters")mainframe = ttk.Frame(root, padding="3 3 15 15")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="转换", command=calculate).grid(column=3, row=3, sticky=W)ttk.Label(mainframe, text="英尺").grid(column=3, row=1, sticky=W)ttk.Label(mainframe, text="等于").grid(column=1, row=2, sticky=E)ttk.Label(mainframe, text="米").grid(column=3, row=2, sticky=W)for child in mainframe.winfo_children(): child.grid_configure(padx=5, pady=5)feet_entry.focus()root.bind('<Return>', calculate)root.mainloop()

最终会是这个样子

Tkinter怎么在python中使用

逐步解释

我们要编写 Tk 程序,首先要引入 Tk&shy;in&shy;ter 的模块。

from tkinter import *from tkinter import ttk

这两行告诉 Python 我们的程序需要这两个模块。首先,tkinter 是 Tk 的标准包,当它加载的时候,也会导致 Tk 函数库在你的系统中被加载。其次,ttk 是 在 Tk 8.5 中新添加的,提供对 Tk 8.5 中引入的 Tk 主题小部件集的访问,其基本思想是将实现小部件行为的代码与实现其外观的代码尽可能地分开,在这里我们不去深究。

值得注意的是,我们已经从 tk&shy;in&shy;ter 模块中导入了所有函数,因此我们可以直接调用 tk&shy;in&shy;ter 的所有函数而不需要添加前缀。但是我们只导入了 ttk 模块,所以在使用 ttk 模块中的函数时应该增加 ttk 前缀。

如果你要将旧代码修改为新代码,你会发现 Tk&shy;in&shy;ter 的名字从大写变成了小写 tkinter,这个改变从 Python 3.0 开始。

root = Tk()root.title("Feet to Meters")mainframe = ttk.Frame(root, padding="3 3 15 15")mainframe.grid(column=0, row=0, sticky=(N, W, E, S))mainframe.columnconfigure(0, weight=1)mainframe.rowconfigure(0, weight=1)

cal&shy;cu&shy;late 函数将会在后面讲解,之所以放到前面,是因为后面的许多语句需要调用它。

root = Tk() 语句构建了一个 main 窗口,也被称为 root 窗口。使用 root.title("title") 为窗口赋予一个名字。ttk.Frame(root, padding="3 3 15 15") 建立一个框架,这个框架分为三行三列,像素为 15。我们将这个框架放置到到 root 窗口中,不同的是,我们的所有组件都被放到了这个框架中而不是 root 窗口。

一般来说,我们可以将所有的组件(Wid&shy;get)都放到 root 窗口中,但是主窗口的背景可能与我们添加的组件不匹配,这时候,我们添加一个中间框架(Frame),将组件放到这个中间框架上来保证内容与背景的匹配。

columncoonfigure 和 rowconfigure 告诉 Tk, 当主窗口重新改变了大小,那么在这之上的 Frame 框架也应该变化,以占用多余的空间。

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="转换", command=calculate).grid(column=3, row=3, sticky=W)

上面的几条语句在框架上 (main&shy;frame) 创建了三个组件,输入框、输出区域(La&shy;bel,用于放置转换的结果)、转换按钮。

对于每一个组件(Wid&shy;get),我们需要做两件事:

  1. 创建

  2. 放置

他们都是 ttk 模块中的类。创建时,我们指定传入的参数:放置的框架,大小,按钮中的字符等。至于 textvariable 的意思,它指这个输入框或者输出框中的值所关联的变量,而这个变量的类型是 StringVar 的对象。

我们使用 grid(网格) 进行几何管理,意思就是这个组件将放在哪一个地方(哪一行,哪一列),sticky 指明组件在分配给它的网格单元(grid cell)中的排列(line up)方式,E、W、S、N 就是东西南北的意思,类似于文本编辑器中的 居中、靠左、靠右等。

ttk.Label(mainframe, text="英尺").grid(column=3, row=1, sticky=W)ttk.Label(mainframe, text="等于").grid(column=1, row=2, sticky=E)ttk.Label(mainframe, text="米").grid(column=3, row=2, sticky=W)

上述三行创建了三个指定内容的 文本标签(La&shy;bel),并放到了指定的位置。

for child in mainframe.winfo_children():    child.grid_configure(padx=5, pady=5)feet_entry.focus()root.bind('<Return>', calculate)

这四行代码为我们的图形化做了一个漂亮的收尾工作。

前两行代码遍历所有的放置在 main&shy;frame 中的组件,并在它们周围增加了一些边框,使它们不至于都挤在一起。当然也可以单独遍历这些组件,然后逐个进行设置,但这不是方便的做法。

第三行代码告诉 Tk,在程序运行时,将光标聚焦在输入框中,使用户不必再点击一下输入框。

第四行代码告诉 Tk,当用户在按下 Return(Win&shy;dows 中是 En&shy;ter)时,调用 cal&shy;cu&shy;late 函数。这与按下按钮调用 cal&shy;cu&shy;late 函数是一样的。

def calculate(*args):    try:        value = float(feet.get())        meters.set((0.3048 * value * 10000.0 + 0.5)/10000.0)    except ValueError:        pass

这里我们定义了一个 cal&shy;cu&shy;late 函数调用,当按下 Return、Enter(Win&shy;dows),或者转换按钮时它将会被调用。它从输入框中获取用户输入的数值,然后将其转换为单位为米的数值之后,将输入框中的数值设置为正确的结果。

显然看到,cal&shy;cu&shy;late 函数通过获取 feet 和设置 meters 来改变在它们各自对应的输入框(Entry)和输出框(Label)中的数值显示。当用户的输入改变时,对应的 feet 的值就会被修改为对应的输入值;当 meters 被被修改时,对应的输出框(La&shy;bel)显示的值也会改变。这就是在定义 feet_entry(输入框)和 label(输出框)时,还要指定 textvariable 的值的原因,而它的值应该是一个 StringVar 的对象。如以下示例:

feet = StringVar()meters = StringVar()feet_entry = ttk.Entry(mainframe, width=7, textvariable=feet)ttk.Label(mainframe, textvariable=meters).grid(column=2, row=2, sticky=(W, E))
root.mainloop()

上述就是小编为大家分享的Tkinter怎么在python中使用了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注编程网Python频道。

--结束END--

本文标题: Tkinter怎么在python中使用

本文链接: https://lsjlt.com/news/270567.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Tkinter怎么在python中使用
    这期内容当中小编将会给大家带来有关Tkinter怎么在python中使用,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。from tkinter import *from&nb...
    99+
    2023-06-14
  • python中tkinter怎么使用
    在Python中使用Tkinter库来创建图形用户界面(GUI)。首先,需要导入Tkinter库:```pythonimport t...
    99+
    2023-09-13
    python
  • python中的tkinter怎么使用
    要使用tkinter库来创建一个GUI应用程序,你需要按照以下步骤:1. 导入tkinter库:首先,你需要导入tkinter库,通...
    99+
    2023-09-28
    python
  • python Tkinter怎么使用
    这篇文章主要介绍“python Tkinter怎么使用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“python Tkinter怎么使用”文章能帮助大家解决问题。简介tkinte...
    99+
    2023-07-05
  • 怎么在Python中使用tkinter图形化界面
    本篇文章为大家展示了怎么在Python中使用tkinter图形化界面,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。python可以做什么Python是一种编程语言,内置了许多有效的工具,Python...
    99+
    2023-06-14
  • 怎么在python中使用tkinter制作一个2048游戏
    怎么在python中使用tkinter制作一个2048游戏?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。创建main.py代码:from tkinter i...
    99+
    2023-06-14
  • Python中Tkinter Scrollbar滚动条怎么使用
    这篇文章主要介绍“Python中Tkinter Scrollbar滚动条怎么使用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Python中Tkinter Scrollbar滚动...
    99+
    2023-07-05
  • 怎么在python中使用tkinter实现一个扫雷游戏
    怎么在python中使用tkinter实现一个扫雷游戏?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。实现代码# 导入所需库from tkin...
    99+
    2023-06-15
  • 怎么在Python中使用Tkinter制作一个翻译软件
    本篇文章为大家展示了怎么在Python中使用Tkinter制作一个翻译软件,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。python是什么意思Python是一种跨平台的、具有解释性、编译性、互动性和...
    99+
    2023-06-06
  • Python中的tkinter库怎么用
    这篇“Python中的tkinter库怎么用”文章,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要参考一下,对于“Python中的tkinter库怎么用”,小编整理了以下知识点,请大家跟着小编的步伐一步一步的慢慢理解...
    99+
    2023-06-28
  • python中Tkinter如何使用
    本篇内容介绍了“python中Tkinter如何使用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、前言1、Tkinter是什么Tkint...
    99+
    2023-07-02
  • python的Tkinter方法怎么使用
    本篇内容主要讲解“python的Tkinter方法怎么使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“python的Tkinter方法怎么使用”吧!一、前言1.1、Tkinter是什么Tkin...
    99+
    2023-06-29
  • Python Tkinter Menu控件怎么使用
    这篇“Python Tkinter Menu控件怎么使用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“P...
    99+
    2023-06-28
  • Python可视化tkinter怎么使用
    这篇文章主要讲解了“Python可视化tkinter怎么使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python可视化tkinter怎么使用”吧!1、基本用法# coding...
    99+
    2023-07-02
  • python tkinter库怎么安装及使用
    安装Python Tkinter库是非常简单的。首先确保你已经安装了Python,然后按照以下步骤进行操作: 打开命令行窗口(W...
    99+
    2024-04-02
  • python的tkinter使用
    __author__ = 'Python' import tkinter as tk class Application(tk.Frame):     def __init__(self, master=None):         t...
    99+
    2023-01-31
    python tkinter
  • Python Tkinter对话框控件怎么使用
    本篇内容主要讲解“Python Tkinter对话框控件怎么使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python Tkinter对话框控件怎么使用”吧!除了基本的控...
    99+
    2023-06-28
  • Python Tkinter Canvas画布控件怎么使用
    这篇文章主要讲解了“Python Tkinter Canvas画布控件怎么使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python Tkinter&nbs...
    99+
    2023-06-28
  • tkinter模块如何在python中应用
    这篇文章将为大家详细讲解有关tkinter模块如何在python中应用,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。1.任务要求画一个具有上传病患信息以及图片功能的用户界面2.简单设计由于时...
    99+
    2023-06-14
  • Python Tkinter 简单使用
    简单的一些实例,能够实现一般的功能就够用了 Tkinter: 创建顶层窗口: # -*- coding: utf-8 -*- from Tkinter import *   root = Tk() root.title("顶层窗口") ...
    99+
    2023-01-30
    简单 Python Tkinter
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作