Tkinter 之主窗口参数

一、常用参数

语法作用
window= tk.TK() 创建窗口
window['height'] = 300 设置高
window['width'] = 500 设置宽
window.title('魔方小站') 设置标题
window['bg'] = '#0099ff' 设置背景色
window.geometry("500x300+120+100") 设置窗口大小,+120指窗口距离左屏幕的距离
window.option_add('*Font', 'Fira 10') 设置全局字体
window.resizable(width=False,height=True) | root.resizable(0,1) 禁止窗口调整大小
window.minsize(300,600) 窗口可调整的最小值
window.maxsize(600,1200) 窗口可调整的最大值
window.attributes("-toolwindow", 1) 工具栏样式
window.attributes("-topmost", -1) 置顶窗口
window.state("zoomed") 窗口最大化
window.iconify() 窗口最小化
window.deiconify() 还原窗口
window.attributes("-alpha",1) 窗口透明化,透明度从 0-1,1 是不透明,0 是全透明
window.destroy() 关闭窗口
window.iconbitmap("./image/icon.ico") 设置窗口图标
screenWidth = window.winfo_screenwidth()
screenHeight = window.winfo_screenheight()
 获取屏幕宽高
window.protocol("WM_DELETE_WINDOW", call) 当窗口关闭时,执行call函数
window.mainloop() 主窗口循环更新

窗口attributes参数说明:

参数作用
alpha  1.(Windows,Mac)控制窗口的透明度
2. 1.0 表示不透明,0.0 表示完全透明
3. 该选项并不支持所有的系统,对于不支持的系统,Tkinter 绘制一个不透明(1.0)的窗口
disabled  (Windows)禁用整个窗口(这时候你只能从任务管理器中关闭它)
fullscreen  (Windows,Mac)如果设置为 True,则全屏显示窗口
modified  (Mac)如果设置为 True,该窗口被标记为改动过
titlepath  (Mac)设置窗口代理图标的路径
toolwindow   (Windows)如果设置为 True,该窗口采用工具窗口的样式
topmost  (Windows,Mac)如果设置为 True,该窗口将永远置于顶层

 

二、代码示例

import tkinter as tk

# 创建窗体
window = tk.Tk()

def call():
    global window
    window.destroy()

def main():
    global window
    # 设置主窗体大小
    winWidth = 600
    winHeight = 400
    # 获取屏幕分辨率
    screenWidth = window.winfo_screenwidth()
    screenHeight = window.winfo_screenheight()
    # 计算主窗口在屏幕上的坐标
    x = int((screenWidth - winWidth)/ 2)
    y = int((screenHeight - winHeight) / 2)
    
    # 设置主窗口标题
    window.title("主窗体参数说明")
    # 设置主窗口大小
    window.geometry("%sx%s+%s+%s" % (winWidth, winHeight, x, y))
    # 设置窗口宽高固定
    window.resizable(0,0)
    # 设置窗口图标
    window.iconbitmap("./image/icon.ico")
    # 设置窗口顶部样式
    window.attributes("-toolwindow", 0)
    # 设置窗口透明度
    window.attributes("-alpha",1)
    #获取当前窗口状态
    print(window.state())
    
    window.protocol("WM_DELETE_WINDOW", call)
    
    #循环更新
    window.mainloop()



if __name__ == "__main__": 
    main()

 

三、效果图

 

posted @ 2019-11-02 13:49  样子2018  阅读(4184)  评论(0编辑  收藏  举报