python tkinter 入门教程

python tkinter 入门教程

tkinter是python内置的一个制作窗口的模块

用它可以制作用户界面

一、tkinter制作一个窗口

输入一下代码

import tkinter

win = tkinter.Tk()  # 创建窗口
win.mainloop()  # 运行窗口

 就可以看到一个最基础的窗口了

 

接下来可以给窗口进行设置

import tkinter

win = tkinter.Tk()
win.title('window')  # 设置标题
win.geometry('300x200')  # 设置窗口大小
win.mainloop()

二、在窗口上放置用户组件

tkinter的用户组件有 Label, Button, Entry等

 举例:

import tkinter

win = tkinter.Tk()
win.title('window')
win.geometry('300x200')
lbl = tkinter.Label(win, text='hello', font=(None, 80))  # 创建组件
lbl.pack()  # 将组件放置在窗口上
win.mainloop()

其中,放置组件有三种方法

pack() 

grid(row = i,column = j)

place(x = i,y = i)

 再举个例子:

复制代码
import tkinter

win = tkinter.Tk()
win.title('window')
win.geometry('300x200')
btn = tkinter.Button(win, text='hello', font=(None, 24), height=1)  # 设置高度
btn.pack()
ent = tkinter.Entry(win, font=(None, 24), width=10)  # 设置宽度
ent.pack()
win.mainloop()
复制代码

 

三、组件的事件

button组件有参数command

比如说:

复制代码
import tkinter


def hello():
    print("hello")


win = tkinter.Tk()
win.title('window')
win.geometry('300x200')
btn = tkinter.Button(win, text='hello', font=(None, 24), command=hello)
btn.pack()
win.mainloop()
复制代码

 

如果函数有参数,可以用匿名函数lambda

复制代码
import tkinter


def hello(name):
    print("hello:", name)


win = tkinter.Tk()
win.title('window')
win.geometry('300x200')
btn = tkinter.Button(win, text='hello', font=(None, 24), command=lambda: hello('tkinter'))
btn.pack()
win.mainloop()
复制代码

 

 而Entry组件有函数:get()

它可以返回Entry内的值

复制代码
import tkinter


def hello(name):
    print("hello:", name)


win = tkinter.Tk()
win.title('window')
win.geometry('300x200')
ent = tkinter.Entry(win, font=(None, 24))
ent.pack()
btn = tkinter.Button(win, text='hello', font=(None, 24), command=lambda: hello(ent.get()))
btn.pack()
win.mainloop()
复制代码

 

posted @   KevinLikesCoding  阅读(4170)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
· 【译】Visual Studio 中新的强大生产力特性
· 2025年我用 Compose 写了一个 Todo App
点击右上角即可分享
微信分享提示