目录

目录:

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.实现效果:

(二)窗体的基本设置

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.实现效果:

(三)窗体的外形设置

1.说明:

(1)设置透明度:

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

win.attributes("-alpha", 0.6)

(2)设置工具栏样式:

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

win.attributes("-toolwindow", True)

透明度与工具栏的效果图:

(3)设置全屏:

全屏模式:True 全屏;False 正常显示

win.attributes("-fullscreen", True)

(4)设置窗体置顶

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

win.attributes("-topmost", True)

(5)设置成脱离工具栏

脱离工具栏:True 没有工具栏按钮;False 正常显示

win.overrideredirect(True)

脱离工具栏的效果图:

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.实现效果:

(四)窗体的三个方法:

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)输出结果:

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)输出结果:

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)输出结果:

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

tkinter学习系列(二)之窗口的设置的更多相关文章

  1. 图机器学习(GML)&图神经网络(GNN)原理和代码实现(前置学习系列二)

    项目链接:https://aistudio.baidu.com/aistudio/projectdetail/4990947?contributionType=1 欢迎fork欢迎三连!文章篇幅有限, ...

  2. MyBatis学习系列二——增删改查

    目录 MyBatis学习系列一之环境搭建 MyBatis学习系列二——增删改查 MyBatis学习系列三——结合Spring 数据库的经典操作:增删改查. 在这一章我们主要说明一下简单的查询和增删改, ...

  3. scrapy爬虫学习系列二:scrapy简单爬虫样例学习

    系列文章列表: scrapy爬虫学习系列一:scrapy爬虫环境的准备:      http://www.cnblogs.com/zhaojiedi1992/p/zhaojiedi_python_00 ...

  4. [转]ASP.NET MVC学习系列(二)-WebAPI请求 传参

    [转]ASP.NET MVC学习系列(二)-WebAPI请求 传参 本文转自:http://www.cnblogs.com/babycool/p/3922738.html ASP.NET MVC学习系 ...

  5. .net reactor 学习系列(二)---.net reactor界面各功能说明

    原文:.net reactor 学习系列(二)---.net reactor界面各功能说明         安装了.net reactor之后,可以在安装目录下找到帮助文档REACTOR_HELP.c ...

  6. Maven学习系列二(1-5)

    Maven学习系列二(1-5) 本文转自 QuantSeven 博客,讲解精炼易懂,适合入门,链接及截图如下 http://www.cnblogs.com/quanyongan/category/47 ...

  7. DocX开源WORD操作组件的学习系列二

    DocX学习系列 DocX开源WORD操作组件的学习系列一 : http://www.cnblogs.com/zhaojiedi1992/p/zhaojiedi_sharp_001_docx1.htm ...

  8. RabbitMQ学习系列二-C#代码发送消息

    RabbitMQ学习系列二:.net 环境下 C#代码使用 RabbitMQ 消息队列 http://www.80iter.com/blog/1437455520862503 上一篇已经讲了Rabbi ...

  9. C# Redis学习系列二:Redis基本设置

    上一篇:C# Redis学习系列一:Redis的认识.下载.安装.使用 一.redis 设置密码 使用下载好的 redis-cli.exe 指令: 1.设置密码: config set require ...

  10. ASP.NET MVC学习系列(二)-WebAPI请求

    继续接着上文 ASP.NET MVC学习系列(一)-WebAPI初探 来看看对于一般前台页面发起的get和post请求,我们在Web API中要如何来处理. 这里我使用Jquery 来发起异步请求实现 ...

随机推荐

  1. MySQL 性能管理及架构设计指南

    一.什么影响了数据库查询速度 1.1 影响数据库查询速度的四个因素 1.2 风险分析 QPS:Queries Per Second意思是“每秒查询率”,是一台服务器每秒能够相应的查询次数,是对一个特定 ...

  2. PetaPoco在ASP.NET Core 2.2中使用注入方式访问数据库

    .Net Core中一个特别重要的特性就是依赖注入功能,那么我们在使用PetaPoco的时候是否也可以使用依赖注入特性呢? 回答当然是可以的啦.使用方法(两种注入方式)如下 services.AddS ...

  3. SSH原理和应用

    SSH(Secure SHell)是为远程登录, 远程通信等设计的安全通信协议, 由芬兰研究员于1995年提出,其目的是用于替代非安全的Telnet.rsh.rexec等不安全的远程Shell协议. ...

  4. 《深入理解Java虚拟机》(二)Java虚拟机运行时数据区

    Java虚拟机运行时数据区 详解 2.1 概述 本文参考的是周志明的 <深入理解Java虚拟机>第二章 ,为了整理思路,简单记录一下,方便后期查阅. 2.2 运行时数据区域 Java虚拟机 ...

  5. Linux中inotify软件部署及参数事件演示

    声明:博主使用的是CentOS6.9的系统 参考资料: https://github.com/rvoicilas/inotify-tools/wiki http://www.ibm.com/devel ...

  6. 搜藏一个php文件上传类

    <?php /** * 上传文件类 * @param _path : 服务器文件存放路径 * @param _allowType : 允许上传的文件类型和所对应的MIME * @param _f ...

  7. Java语言的简介

    Java语言的由来 Java是由Sun Microsystems公司推出的Java面向对象程序设计语言(以下简称Java语言)和Java平台的总称.由James Gosling和同事们共同研发,并在1 ...

  8. 设计模式-享元模式(FlyWeight)

    一.概念 享元模式是对象的结构模式,它以共享的方式高效的支持大量的细粒度对象,减少对象的数量,并达到节约内存的目的. 享元对象能够做到共享的关键,主要是区分了内部状态和外部状态,内部状态是对象是在建立 ...

  9. SSM实现简单后台分页

    1.简单思路 这是最常见的分页格式,分析一下我们需要传什么数据给前端吧! 首先是左边下面的总共几条记录,然后是右边的当前页面,然后就是一些你所需要展示的数据.对了每页显示多少条是不也得控制下,下面的显 ...

  10. 小程序和PHP学习笔记 ----- 不定期更新。

    学习tp5和小程序过程需要记住的重点记录 1,box-sizing: border-box; 规定两个并排的带边框的框 border-box 为元素设定的宽度和高度决定了元素的边框盒. 就是说,为元素 ...