Python GUI 编程:tkinter 初学者入门指南——窗口
off999 2024-12-08 17:32 28 浏览 0 评论
Tkinter 是在 Python 中开发 GUI(图形用户界面)最常用的库。在本指南中,我们将引导您了解 Tkinter 的基本知识,学习如何使用 Tkinter 快速开发 GUI 应用程序。
创建窗口
import tkinter as tk # 导入模块
root = tk.Tk() # 创建应用程序窗口实例
root.mainloop() # 显示窗口
说明:mainloop()方法可确保主窗口在屏幕上保持可见。如果不调用该方法,主窗口将显示后立即消失。
更改窗口标题
使用 title() 方法设置窗口标题。
import tkinter as tk # 导入模块
root = tk.Tk() # 创建应用程序窗口实例
root.title("tkinter 教程") # 设置窗口标题
root.mainloop() # 显示窗口
更改窗口大小和位置
更改窗口的大小和位置,使用 geometry() 方法。
geometry(宽度x高度+x坐标+y坐标)
import tkinter as tk # 导入模块
root = tk.Tk() # 创建应用程序窗口实例
root.title("tkinter 教程") # 设置窗口标题
root.geometry('300x200+50+50') # 设置窗口大小位置
root.mainloop() # 显示窗口
以上代码运行结果如下图:
窗口在屏幕上居中
import tkinter as tk # 导入模块
root = tk.Tk() # 创建应用程序窗口实例
root.title("tkinter 教程") # 设置窗口标题
# 设置窗口尺寸
window_width = 300
window_height = 200
# 获取屏幕尺寸
screen_width = root.winfo_screenwidth()
screen_height = root.winfo_screenheight()
# 计算窗口坐标
center_x = int(screen_width/2 - window_width / 2)
center_y = int(screen_height/2 - window_height / 2)
root.geometry(f'{window_width}x{window_height}+{center_x}+{center_y}')
root.mainloop() # 显示窗口
是否允许调整窗口大小
默认情况下,可以调整窗口的宽度和高度。要防止窗口调整大小,可以使用 resizable() 方法。
root.resizable(False, False)
该方法有两个参数,用于指定是否可以调整窗口的宽度和高度。
窗口设置的其他属性
属性 说明 bg 窗口的背景颜色 bd 窗口的边框宽度(默认为2像素) cursor 鼠标指针在窗口上时的样式 relief 窗口的边框样式 iconbitmap 窗口的图标 state 窗口的状态(normal、iconic、withdrawn、oricon) overrideredirect 隐藏窗口的标题栏和边框
attributes() 方法
可以使用 attributes() 方法,设置窗口各种属性。
通过设置窗口的 Alpha 通道,范围从 0.0(完全透明)到 1.0(完全不透明)来指定窗口的透明度。
root.attributes('-alpha',0.5)
import tkinter as tk
root = tk.Tk()
root.geometry('300x200+200+200')
root.title('Label 标签演示')
root.attributes('-alpha',0.5)
root.mainloop()
通过设置窗口的 topmost 通道,决定是否置顶窗口。
root.attributes('-topmost', 1)
通过设置窗口的 fullscreen 通道,决定是否设置全屏窗口。
root.attributes('-fullscreen', 1)
protocol() 方法
使用 protocol() 方法注册并捕获窗口的某些事件。
事件 说明 WM_DELETE_WINDOW 窗口关闭事件,对应于用户点击窗口关闭按钮或调用destroy方法时触发。 WM_TAKE_FOCUS 当窗口或其子控件尝试获取输入焦点时触发。 WM_SAVE_YOURSELF 当窗口管理器要求应用程序保存其状态时触发。 WM_LOSE_FOCUS 当窗口或其子控件失去输入焦点时触发。
例如,以下代码注册了一个 WM_DELETE_WINDOW 事件,在窗口关闭时调用函数。
import tkinter as tk # 导入模块
import tkinter.messagebox as msgbox
def on_closing():
if msgbox.askokcancel("提示"," 你确定要关闭窗口吗? "):
root.destroy()
root = tk.Tk() # 创建应用程序窗口实例
root.title("tkinter 教程") # 设置窗口标题
root.geometry('300x200+50+50') # 设置窗口大小位置
root.protocol("WM_DELETE_WINDOW", on_closing)
root.mainloop() # 显示窗口
相关推荐
-
- 扣扣空间电脑版登录入口(qq空间电脑版官网网站登录)
-
可以通过以下链接登陆进入QQ空间:https://qzone.qq.com/QQ空间(Qzone)是腾讯公司于2005年开发出来的一个具有个性空间,具有博客(blog)的功能,自问世以来受到众多人的喜爱。在QQ空间上可以书写日志、写说说...
-
2025-12-27 22:03 off999
- 怎么还原(怎么还原手机出厂设置)
-
1、首先,在Excel工作表中依次点击左上角的文件图标——Excel选项。2、然后,在弹出来的Excel选项的小窗口中点击左侧的保存菜单栏目。3、接着,在保存菜单栏目的右侧可以看到自动恢复文件的位置,...
- 怎么用360升级系统版本(怎么用360更新系统)
-
360可以下载补丁更新漏洞,对系统进行升级(在360修复漏洞里面点立即修复就行了)升级电脑系统大多数情况下是指低版本的系统升级到高版本的系统,比如说从windows2000升到xp,从vista升级到...
- 360助手电脑版客户端(360软件助手电脑)
-
还是非常好的,都是能够让他可以直接拦截病毒,同时能够让他清理内存,而且能够让这个有非常好的手机应用软件权限优化作用。360手机助手是360推出的手机助手,拥有海量软件和游戏轻松下载,炫彩主题壁纸随心点...
- 手机360助手官网下载(手机360助手最新版下载)
-
1、在电脑上安装360安全卫士打开它里边里的360手机助手2、手机设置系统设置——应用程序——未知来源打钩——开发USB调试打钩允许模拟位置打钩3、连接电脑、手机,并打开手机助手4、手机助...
- window10安装密钥(win10安装密钥命令)
-
以专业版为例,win10密钥是由25个字符组成的代码,用于激活windows,根据用户获取windows10副本的方式,需要由25个字符组成的产品密钥或数字许可证才能激活它。数字许可证是windows...
- 电脑windows7无法连接到网络
-
解决方法:1、在使用电脑的时候,出现了网络连接不可用的问题,可能造成的原因主要有网络连接被禁用,DNS和IP地址获取不对,网卡驱动损坏,网线没有插好。2、鼠标右键网络连接图标进去,点击更改适配器设置。...
- 路由器静态ip填什么(路由器的静态ip)
-
手机登入路由器web界面,输入用户名和密码,第一次弹出设置向导,选择静态ip上网方式,填写可以上网的ip地址,如ip192.168.1.188子网掩码255.255.255.0网关192.168....
- 电脑频繁断电关机(电脑经常断电是不是电源的问题)
-
电脑自动关机主要有以下几种原因造成:1.散热不好。由于天气温度的影响或CPU风扇的转数不够所引起的系统过热,从而会导致电脑的自动关机,建议可以检查一下系统温度是否正常。2.内存原因。当内存与主板插...
- 华为手机双密码双界面(华为手机双密码双界面忘记密码了怎么办)
-
华为手机锁屏怎么有两个锁屏?通常情况下是你多设置了一个锁屏,第一个就是你手势。锁屏二个是密码锁屏,通常这两个同时使用会出现有两个锁屏的现象。你可以在设置里面重新设置一个锁屏就可以了。华为手机锁屏有两个...
- 无线路由器密码在哪看(无线路由器密码在哪里看)
-
笔记本已连接wifi密码查看:1.同时按住按键上面的Win和R这2个按键,打开运行程序。2.在运行程序中输入“ncpa.cpl”,并点击“确定”。3.找到WLAN或者无线网络连接图标,...
- office2003的主要功能(word2003的主要功能)
-
是一套Office2003专业版的精简版,包含常用的Word、Excel、PowerPoint三个应用,使用者甚多。楼主如果有需要,请上电脑在本帖下载我的附件。
欢迎 你 发表评论:
- 一周热门
-
-
抖音上好看的小姐姐,Python给你都下载了
-
全网最简单易懂!495页Python漫画教程,高清PDF版免费下载
-
Python 3.14 的 UUIDv6/v7/v8 上新,别再用 uuid4 () 啦!
-
飞牛NAS部署TVGate Docker项目,实现内网一键转发、代理、jx
-
python入门到脱坑 输入与输出—str()函数
-
宝塔面板如何添加免费waf防火墙?(宝塔面板开启https)
-
Python三目运算基础与进阶_python三目运算符判断三个变量
-
(新版)Python 分布式爬虫与 JS 逆向进阶实战吾爱分享
-
失业程序员复习python笔记——条件与循环
-
系统u盘安装(win11系统u盘安装)
-
- 最近发表
- 标签列表
-
- python计时 (73)
- python安装路径 (56)
- python类型转换 (93)
- python进度条 (67)
- python吧 (67)
- python的for循环 (65)
- python格式化字符串 (61)
- python静态方法 (57)
- python列表切片 (59)
- python面向对象编程 (60)
- python 代码加密 (65)
- python串口编程 (77)
- python封装 (57)
- python写入txt (66)
- python读取文件夹下所有文件 (59)
- python操作mysql数据库 (66)
- python获取列表的长度 (64)
- python接口 (63)
- python调用函数 (57)
- python多态 (60)
- python匿名函数 (59)
- python打印九九乘法表 (65)
- python赋值 (62)
- python异常 (69)
- python元祖 (57)
