Python GUI编程(Tkinter)——窗口

tkinter——窗口

  • 本章概括:
    • 1.窗体的最小框架
    • 2.窗体的基本设置
      • (1)添加标题:
      • (2)添加图标:
      • (3)添加背景:
    • 3.窗体的外形设置
      • (1)设置透明度:
      • (2)设置工具栏样式:
      • (3)设置全屏:
      • (4)设置窗体置顶
      • (5)设置成脱离工具栏
    • 4.获取窗体的三个方法:
      • ( 1 )获取屏幕的大小
      • ( 2 )获取窗体的大小
      • ( 3 )获取窗体的位置

本章概括:

本章必须掌握知识,
主要掌握窗口的搭建 。

1.窗体的最小框架

源代码:

from tkinter import *  #导入tkinter所有模块

root = Tk()  #创建窗口
root.geometry("300x300+150+150")#300x300显示窗体的大小,150+150显示窗口的位置
root.mainloop()  # 进入消息循环,显示窗体

实现效果:
Python GUI编程(Tkinter)——窗口_第1张图片

2.窗体的基本设置

1.说明:

(1)添加标题:

# 设置标题
root.title("标题")

(2)添加图标:

图标:必须是以 .ico 为后缀的图标文件,放于同目录下。

# 设置图标,以QQ头为例
root.iconbitmap("app.ico")

(3)添加背景:

颜色:可以用英文名,也可以用RGU,十六进制表示的颜色。

# 设置背景色,以“蓝色”为例
root["background"] = "blue"

源代码:

from tkinter import *  #导入tkinter所有模块

root = Tk()  #创建窗口
root.geometry("300x300+150+150")#300x300显示窗体的大小,150+150显示窗口的位置
root.title("QQ")#设置标题
root.iconbitmap("qq.ico")#设置图标
root['background']='blue'#设置背景
root.mainloop()  # 进入消息循环,显示窗体

需要实现的资源:
由于本平台不能上传ico格式图片
链接: ico格式图片

实现效果:
Python GUI编程(Tkinter)——窗口_第2张图片

3.窗体的外形设置

1.说明:

(1)设置透明度:

透明度的值是:0~1 可以是小数点,0:全透明;1:全不透明

root.attributes("-alpha", 0.6)

Python GUI编程(Tkinter)——窗口_第3张图片

(2)设置工具栏样式:

工具样式:True 只有退出按钮,也没有图标; False 正常的窗体样式


root.attributes("-toolwindow", True)

Python GUI编程(Tkinter)——窗口_第4张图片

(3)设置全屏:

建议不要尝试
全屏模式:True 全屏;False 正常显示

root.attributes("-fullscreen", True)

(4)设置窗体置顶

窗体置顶:True 所有窗口中处于最顶层;False 正常显示

root.attributes("-topmost", True)

(5)设置成脱离工具栏

建议不要尝试
脱离工具栏:True 没有工具栏按钮;False 正常显示

root.overrideredirect(True)

脱离工具栏的效果图:
Python GUI编程(Tkinter)——窗口_第5张图片
源代码:

from tkinter import *  #导入tkinter所有模块

root = Tk()  #创建窗口
root.geometry("300x300+150+150")#300x300显示窗体的大小,150+150显示窗口的位置
root.title("QQ")#设置标题
root.iconbitmap("qq.ico")#设置图标
root['background']='blue'#设置背景

# root.attributes("-toolwindow", True)#工具样式:True 只有退出按钮,也没有图标; False 正常的窗体样式
# root.attributes("-fullscreen", True)#设置全屏
root.attributes("-alpha", 0.8)#设置透明度
root.attributes("-topmost", True)#窗体置顶:True 所有窗口中处于最顶层;False 正常显示
# root.overrideredirect(True)#脱离工具栏:True 没有工具栏按钮;False 正常显示
root.mainloop()  # 进入消息循环,显示窗体

实现效果:
Python GUI编程(Tkinter)——窗口_第6张图片

4.获取窗体的三个方法:

( 1 )获取屏幕的大小

(1)语法说明:

#获取屏幕的大小;
screen_height = root.winfo_screenheight()
screen_width = root.winfo_screenwidth()

源代码:

from tkinter import *
root = Tk()# 获取屏幕的大小;
screen_height = root.winfo_screenheight()
screen_width = root.winfo_screenwidth()
print("你电脑的屏幕的高度是:", screen_height)
print("你电脑的屏幕的宽度度是:", screen_width)
root.mainloop()

输出结果:
Python GUI编程(Tkinter)——窗口_第7张图片

( 2 )获取窗体的大小

(1)语法说明:

# 获取屏幕的大小;
win_height = root.winfo_height()
win_width = root.winfo_width()

需要注意的是:要用root.update()方法,才能看到更新后的数值
源代码:

from tkinter import *
root = Tk()
root.geometry("600x500")
root.update()
# 获取屏幕的大小;
win_height = root.winfo_height()
win_width = root.winfo_width()
print("控件的高度是:", win_height)
print("控件的宽度度是:", win_width)
root.mainloop()

输出结果:
在这里插入图片描述

( 3 )获取窗体的位置

(1)语法说明:

# 获取窗体的位置
win_x = win.winfo_x()
win_y = win.winfo_y()

源代码:

from tkinter import *

root = Tk()
root.geometry("600x500")

def change(event):
    root.update()
    # 获取窗体的位置
    root_x = root.winfo_x()
    root_y = root.winfo_y()
    print(root_x)
    print(root_y)

# 绑定事件,窗体的改变事件
root.bind("", change)
root.mainloop()

操作:
当我用鼠标拖动窗体时,更新了一系列的位置数值
输出结果:
Python GUI编程(Tkinter)——窗口_第8张图片

你可能感兴趣的:(Python,GUI编程(Tkinter))