当前位置: 首页 > news >正文

Tkinter快速入门指南

        这个的一些基础的语法在前面(Tkinter的介绍)里面,我们可以点开他,先去了解他。这篇博文是对上一篇博文的可以补充。因为文章太长的话,不好查找必要的信息,所以我把一些的知识点放在其他博文,点开你想了解的的超链接就可以了。

1. 最简Tkinter程序 - 你的第一个窗口

import tkinter as tk# 创建主窗口
root = tk.Tk()
root.title("我的第一个窗口")
root.geometry("300x200")  # 宽x高# 显示窗口
root.mainloop()

运行这段代码,你会看到一个空窗口。这就是所有Tkinter程序的起点!

2. 基础组件快速上手

① 标签(Label) - 显示文字
label = tk.Label(root, text="你好,Tkinter!", font=("Arial", 20))
label.pack(pady=20)  # pady是上下间距
  • tk.Label(): 创建标签组件
    • 第一个参数root: 指定父容器(主窗口)
    • text: 设置显示的文本内容
    • font: 设置字体和大小(格式:(字体名, 字号))
  • .pack(): 使用pack布局管理器放置组件
    • pady=20: 设置组件在垂直方向上的外边距为20像素

② 按钮(Button) - 点击交互

def say_hello():print("按钮被点击了!")btn = tk.Button(root, text="点击我", command=say_hello)
btn.pack()

③ 输入框(Entry) - 获取用户输入

entry = tk.Entry(root, width=30)
entry.pack()# 获取输入内容
def show_input():print("用户输入:", entry.get())tk.Button(root, text="显示输入", command=show_input).pack()

④ 文本框(Text) - 多行文本

text = tk.Text(root, height=5)
text.pack()
text.insert("end", "在这里可以输入多行文本")

3. 布局管理 - 控制组件位置

Tkinter有3种布局方式:

① pack() - 简单堆叠
tk.Label(root, text="顶部").pack()
tk.Label(root, text="中部").pack()
tk.Label(root, text="底部").pack()

② grid() - 网格布局

tk.Label(root, text="第0行第0列").grid(row=0, column=0)
tk.Label(root, text="第1行第1列").grid(row=1, column=1)

③ place() - 精确坐标

tk.Label(root, text="坐标x=50,y=30").place(x=50, y=30)

4. 实战小项目:简易计算器

import tkinter as tkdef calculate():try:result = eval(entry.get())label_result.config(text=f"结果: {result}")except:label_result.config(text="输入有误!")root = tk.Tk()
root.title("简易计算器")entry = tk.Entry(root, width=30)
entry.pack(pady=10)tk.Button(root, text="计算", command=calculate).pack()label_result = tk.Label(root, text="等待计算...")
label_result.pack(pady=10)root.mainloop()

相关文章:

  • DataWhale-零基础络网爬虫技术(二er数据的解析与提取)
  • 粗浅理解:为什么左旋右旋的组合反而收旋转矩阵影响
  • ajax中get和post的区别
  • 5.基于神经网络的时间序列预测
  • Git 命令全景图:从 clone 到 merge 的完整流程解析
  • 【时时三省】(C语言基础)善于利用指针
  • 统计一个区间内的素数并求和
  • 3D Gaussian Splatting算法安装与实测
  • android 渲染流水线中的两个重要阶段:swapBuffers 和 DrawFrames
  • 大模型Text2SQL之在CentOS上使用yum安装与使用MySQL
  • 【Golang学习】1-基于mysql增删改查
  • 工具:Autosar:DBC转ARXML
  • 《Go语言圣经》利用结构体和接口实现更优雅的Go错误处理
  • Linux之线程同步与互斥
  • Plotly图表全面使用指南 -- Displaying Figures in Python
  • .docx 和 .doc 都是 Word 文档格式的区别
  • 迅捷CAJ转换器 1.7.4
  • java: 警告: 源发行版 17 需要目标发行版 17
  • 一个库,比如kott_tinymce ,想把的依赖库从kotti升级到kotti2 ,请问我是不是查找替换,把所有的kotti字符替换成kotti2就行了?
  • macOS - 根据序列号查看机型、保障信息
  • 吴江住房城乡建设局网站/今日足球赛事分析推荐
  • 冠县哪里有做网站的/优化推广网站怎么做
  • 网站信任的体验如何做/佳木斯seo
  • 网站建设管理专员/360提交网站收录入口
  • 织梦做网站教程/seo排名优化
  • 网站建设拾金手指下拉/百度统计app