学习笔记 | Python中tkinter模块根窗体方法和属性设置——根窗体的常用属性和方法

Python tkinter 根窗体

根窗体是图像化应用程序的根控制器,是tkinter的底层控件的实例。
本文主要介绍python的tkinter模块中根窗体的常用属性和方法。

1. 导入tkinter

import tkinter as tk

2. 初始化根窗体实例

当导入tkinter模块后,调用Tk()方法可初始化一个根窗体实例 root

root=tk.Tk()

Tk后面的括号中可设参数设置标题:

root=tk.Tk(className='标题')

3. 属性和状态设置

常用属性

title()方法设置/获取窗体标题,如果括号设了参数则设置为窗体标题,否则获取窗口标题;

geometry()方法可以设置窗体的大小(以像素为单位,注意中间的乘号是小写字母x,不是*)和位置(用+设置,第一个+是距离屏幕左边的距离(x坐标),第二个+是距离屏幕上方的距离(y坐标),也可使用-号,效果相反),当无参数时则获取窗口大小和位置,
如果要单独获取窗口坐标或者大小,可以用winfo_x()winfo_y()分别获得窗口的x、y坐标,winfo_width()winfo_height()分别获得窗口的宽度和高度,注意在获取前需用update()方法刷新窗口,否则只会获取到窗口初始大小。

destroy()方法关闭窗口;

mainloop()将窗体置于主循环中,除非用户关闭,否则程序始终处于运行状态,用户关闭后执行后面的代码。在这个主循环的根窗体中,可持续呈现中的其他可视化控件实例,监测事件的发生并执行相应的处理程序。注意要放在代码的最后。在窗口被关闭后执行后面的代码。

下面是根窗体呈现示例:

import tkinter as tk
root=tk.Tk()    #创建根窗体
root.title('我的第一个窗体')       #标题文字       
root.geometry('300x240+100+100')    #大小为300*240,x坐标为100,y坐标为100
root.mainloop()     #放入主循环
根窗体

设置窗体最大化/最小化:

窗体的状态有三种:normal(正常显示);iconic(最小化);zoomed(最大化)。

root.state()方法不带任何参数时可以获取窗口状态,
root.state('normal')窗口正常显示;
root.state('icon')窗口最小化;
root.state('zoomed')窗口最大化;

或者是使用iconify使窗口最小化:
root.iconify()

也可使用attributes方法使窗口最大化:
root.attributes("-fullscreen", True)

建立临时窗口

t = tk.TopLevel(root)   #创建子窗体
t.transient(root)       #将t设为root的临时窗口

transient(master)建立一个临时窗口,会随主窗口最小化而最小化,关闭而关闭,保持在最前面

设置窗口图标

在python的当前目录,即和python文件同一个文件夹中放一个ico图标,
root.iconbitmap("图标路径")

隐藏根窗体

root.withdraw()可将根窗体隐藏,其作用是将窗体移动到另一个地方但并不销毁它。
root.deiconify()还原窗口

其他设置(根窗体root)

  • root.update() 刷新窗口

  • root.after(second,command),自动触发事件,表示多少秒以后自动执行command

  • root.maxsize() 设置窗体大小最大值(不带参数时获取最大值)

  • root.minsize() 设置窗体大小最小值(不带参数时获取最小值)

  • root.attributes("-toolwindow", True) 设置为工具窗口(没有最大最小按钮)

  • root.attributes("-topmost", True) 使窗口保持处于顶层

  • root.attributes('-transparentcolor','blue') 设置透明色,blue可替换其他颜色

  • root.attributes('-alpha',0.5) 设置窗口透明度,0~1之间

  • root['background']='blue' 设置窗口背景色,blue可替换其他颜色

  • root.overrideredirect(True) 隐藏窗口边框和标题栏(缺点:脱离windows窗口管理,窗口也不会出现在任务栏,且无法设置最大化、最小化,否则会报错)

  • root.resizable(True,True) 设置窗口x,y方向的可变性(也可设0或1等)

  • root.winfo_screenwidth(),
    root.winfo_screenheight() 获取屏幕分辨率(屏幕的高和宽)

结束语

暂时就这些了。以上就是Python中tkinter根窗体属性设置介绍,希望能够帮助到你。如果你有任何的补充建议,欢迎向我提出!

CSDN同名搜 H_612,看更多Python文章
CSDN博客:https://blog.csdn.net/weixin_52132159

你可能感兴趣的:(学习笔记 | Python中tkinter模块根窗体方法和属性设置——根窗体的常用属性和方法)