主窗口

  GUI设计的所有部件均在主窗口上显示,因此在创建各部件之前需要先创建主窗口。在此需要使用的函数为:

class Tkinter.Tk(screenName=None, baseName=None, className='Tk', useTk=1)

该函数将Tkinter.Tk类实例化,通常使用时不用带参数,该语句创建窗口通常作为应用程序的主窗口。

例如:

#!/usr/bin/env python
# -*- coding: utf-8 -*-
 
import tkinter as tk  # 使用Tkinter前需要先导入
 
# 第1步,实例化object,建立窗口window
window = tk.Tk()
 
# 第2步,给窗口的可视化起名字
window.title('My Window')
 
# 第3步,设定窗口的大小(长 * 宽)
window.geometry('500x300')  # 这里的乘是小x

# 第4步,主窗口循环显示
window.mainloop()


python画图并随窗口大小变化 python绘制窗口_python画图并随窗口大小变化

  Tkinter.Tk类实例化为window后,可以通过指定的函数对窗口的属性进行修改:

函数

含义

window.title(‘My Window’)

修改框体的名字。也可在创建Tkinter.Tk类时,使用className参数来命名

window.resizable(0,0)

框体大小可调性,分别表示x,y方向的可变性

window.geometry(‘250x150’)

指定主框体大小

window.quit()

退出

window.update_idletasks()

window.update()

刷新页面(界面显示一次后直接退出结束程序)

window.mainloop()

窗口循环显示(一直循环显示,直到窗口被关闭)

window.iconbitmap(“classic.ico”)

window.config(background = “pink”)

window.resizable(False,False)

窗口的高度和宽度是否可变

window.minsize(100,100)

窗口的最小缩放

window.maxsize(600,333)

窗口最大缩放

window.overrideredirect(True)

window.attributes("-alpha",0.9)

设置窗口的透明度,1为不透明,0为完全透明

window.protocol(“WM_DELETE_WINDOW”,call)

查看资料ICCCM

window.protocol(“WM_TAKE_FOCUS”,call)

window.attributes("-toolwindow",1)

设置为toolwindow/topmost模式

window.state(“zoomed”)

启动窗口最大化

window.withdraw()

窗口隐藏,取消用deiconify()方法

window.iconify()

窗口最小化

window.deiconify()

还原窗口

window.attributes("-fullscreen",1)

坑爹的全屏呀,到底有多坑,试试你才知道!!!

友情提示:Alt+Tab可以切换到其他应用后关闭

window.winfo_screenwidth()

window.winfo_screenheight()

获得屏幕分辨率

window.frame()

返回X窗口的标示符或者是当前窗口的句柄

window.grid(baseWidth =100,baseHeight =100,

widthInc =4,heightInc=4)

basewidth和baseheight指定Tk_geometryrequest要求的网格单元数

widthInc和heightIn指定网格单元的宽度和高度(像素)’’’

window.group()

将窗口添加到窗口群中,括号内的参数为窗口的路径,用来指定主窗口

window.state(“iconic”)

括号里面的参数还可以是"withdrawn"(隐藏窗口,运行后看不到窗口且任务栏也没有提醒,慎用),“icon”(最小化窗口,运行后窗口直接缩小到任务栏)

window.iconwindow()

  参照上表,将透明度设置为0.1,效果如下


python画图并随窗口大小变化 python绘制窗口_ico_02

图中右边虚影为主题框。

  window.protocol(“WM_DELETE_WINDOW”,call)用法如下,在使用时需要定于一个回调函数“call”,当用户关闭界面点击“关闭”时,系统会自动调用“call”函数,且此时界面不会被关闭。

#!/usr/bin/env python
# -*- coding: utf-8 -*-
 
import tkinter as tk  # 使用Tkinter前需要先导入
 
# 第1步,实例化object,建立窗口window
window = tk.Tk()
 
# 第2步,给窗口的可视化起名字
window.title('My Window')
 
# 第3步,设定窗口的大小(长 * 宽)
window.geometry('500x300')  # 这里的乘是小x

def call():
    print("call")

window.protocol("WM_DELETE_WINDOW",call)

# 第4步,主窗口循环显示
window.mainloop()

效果如下:

python画图并随窗口大小变化 python绘制窗口_ico_03

其他功能函数不再演示,有需要的可以自行尝试~