首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >tkinter学习系列(二)之窗口的设置

tkinter学习系列(二)之窗口的设置

作者头像
py3study
发布2020-01-17 13:08:27
9580
发布2020-01-17 13:08:27
举报
文章被收录于专栏:python3python3

目录

目录: 1.窗体的最小框架 2.窗体的基本设置 3.窗体的外形设置

(一)窗体的最小框架

1.说明:

需要导入标准库: import tkinter

2.源代码:

# 导入模块,并取别名
import tkinter as tk
# 实例化一个窗体对象
win = tk.Tk()
# 设置窗体的大小(300x300),与出现的位置距离窗体左上角(+150+150)
win.geometry("300x300+150+150")
# 进入消息循环,显示窗体
win.mainloop()

3.实现效果:

01.png
01.png

(二)窗体的基本设置

1.说明:

(1)添加标题:

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

(2)添加图标:

图标:必须是以 .ico 为后缀的图标文件,放于同目录下。 # 设置图标,以QQ头为例 win.iconbitmap("app.ico")

(3)添加背景:

颜色:可以用英文名,也可以用RGU,十六进制表示的颜色。 # 设置背景色,以“蓝色”为例 win["background"] = "blue"

2.完整代码:

# 导入模块,并去别名
import tkinter as tk
# 实例化一个窗体对象
win = tk.Tk()
# 设置窗体的大小(300x300),与出现的位置距离窗体左上角(+150+150)
win.geometry("300x300+150+150")
# 设置标题
win.title("标题")
# 设置图标,以QQ头为例
win.iconbitmap("app.ico")
# 设置背景色,以“蓝色”为例
win["background"] = "blue"
# 进入消息循环,显示窗体
win.mainloop()

3.实现效果:

02.png
02.png

(三)窗体的外形设置

1.说明:

(1)设置透明度:

透明度的值是:0~1 可以是小数点,0:全透明;1:全不透明 python win.attributes("-alpha", 0.6)

(2)设置工具栏样式:

工具样式:True 只有退出按钮,也没有图标; False 正常的窗体样式 win.attributes("-toolwindow", True)

透明度与工具栏的效果图:
03.png
03.png
(3)设置全屏:

全屏模式:True 全屏;False 正常显示 win.attributes("-fullscreen", True)

(4)设置窗体置顶

窗体置顶:True 所有窗口中处于最顶层;False 正常显示 win.attributes("-topmost", True)

(5)设置成脱离工具栏

脱离工具栏:True 没有工具栏按钮;False 正常显示 win.overrideredirect(True)

脱离工具栏的效果图:
04.png
04.png

2.完整代码:

# 导入模块,并去别名
import tkinter as tk
# 实例化一个窗体对象
win = tk.Tk()
# 设置窗体的大小(300x300),与出现的位置距离窗体左上角(+150+150)
win.geometry("300x300+150+150")
# 设置标题
win.title("标题")
# 设置图标,以QQ头为例
win.iconbitmap("app.ico")
# 设置背景色,以“蓝色”为例
win["background"] = "blue"
# 设置透明度
win.attributes("-alpha", 0.6)
# 设置窗口为工具样式:
win.attributes("-toolwindow", True)
# # 设置全屏:
win.attributes("-fullscreen", False)
# 设置窗体置顶
win.attributes("-topmost", True)
# 设置成脱离工具栏
win.overrideredirect(False)
# 进入消息循环,显示窗体
win.mainloop()

3.实现效果:

05.png
05.png

(四)窗体的三个方法:

1.获取屏幕的大小

(1)语法说明:

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

(2)源代码:
import tkinter as tk
root = tk.Tk()
# 获取屏幕的大小;
screen_height = root.winfo_screenheight()
screen_width = root.winfo_screenwidth()
print("你电脑的屏幕的高度是:", screen_height)
print("你电脑的屏幕的宽度度是:", screen_width)
root.mainloop()
(3)输出结果:
06.png
06.png

2.获取窗体的大小

(1)语法说明:

# 获取屏幕的大小; win_height = root.winfo_height() win_width = root.winfo_width() 需要注意的是:要用root.update()方法,才能看到更新后的数值

(2)源代码:
import tkinter as tk
root = tk.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)输出结果:
07.png
07.png

3.获取窗体的位置

(1)语法说明:

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

(2)源代码:
import tkinter as tk
win = tk.Tk()
win.geometry("600x500")


def change(event):
    win.update()
    # 获取窗体的位置
    win_x = win.winfo_x()
    win_y = win.winfo_y()
    print(win_x)
    print(win_y)


# 绑定事件,窗体的改变事件
win.bind("<Configure>", change)
win.mainloop()
(3)输出结果:

当我用鼠标拖动窗体时,更新了一系列的位置数值

08.png
08.png
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-05-10 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • (一)窗体的最小框架
    • 1.说明:
      • 2.源代码:
        • 3.实现效果:
        • (二)窗体的基本设置
          • 1.说明:
            • (1)添加标题:
            • (2)添加图标:
            • (3)添加背景:
          • 2.完整代码:
            • 3.实现效果:
            • (三)窗体的外形设置
              • 1.说明:
                • (1)设置透明度:
                • (2)设置工具栏样式:
                • 透明度与工具栏的效果图:
                • (3)设置全屏:
                • (4)设置窗体置顶
                • (5)设置成脱离工具栏
                • 脱离工具栏的效果图:
              • 2.完整代码:
                • 3.实现效果:
                • (四)窗体的三个方法:
                  • 1.获取屏幕的大小
                    • (1)语法说明:
                    • (2)源代码:
                    • (3)输出结果:
                  • 2.获取窗体的大小
                    • (1)语法说明:
                    • (2)源代码:
                    • (3)输出结果:
                  • 3.获取窗体的位置
                    • (1)语法说明:
                    • (2)源代码:
                    • (3)输出结果:
                领券
                问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档