python设置窗口位置_python中tkinter窗口位置
相关学习课程:Python Tkinter 绘图项目 - 网易云课堂study.163.com
一、关于主窗口的介绍:
我们见的比较多的命令如下:
1root.geometry("300x200+100+50")
这是什么意思呢?
其实:第一个是指窗口的宽度,第二个窗口的高度,第三个窗口左上点离左屏幕边界距离,第四个窗口左上点离上面屏幕边界距离。 那么,放在整段代码里如下:
1234from tkinter import *root = Tk()root.geometry("300x200+100+50")root.mainloop()
显示效果如下:
(1)窗口属性设置
在上面程序的基础上,在root = Tk()和root.mainloop()之间添加下面的代码以在窗口中添加元素
窗口标题:root.title("title_a")
添加窗口图标:root.iconbitmap(icon_file),icon_file就是一个.ico的图标文件,使用绝对或相对路径 设置窗口大小:root.geometry("x_WIDTHxx_HEIGHT"),其中将_WIDTH替换为窗口宽度,将_HEIGHT替换为窗口高度 设置窗口在屏幕上的位置:
root.geometry("+X+Y"),X/Y表示以屏幕左上角为顶点的窗口的坐标
(2)常用的事件处理函数:
刷新窗口状态:root.update()
销毁窗口:root.destroy()
自动触发事件:root.after(sec,command),表示多少秒以后自动执行command
置顶窗口:root.wm_attributes('-topmost',1)
隐藏窗口外部:root.overrideredirect(True)
设置最大的窗口:root.maxsize(600, 400)
设置最小的窗口:root.minsize(300, 240)
设置窗口是否可以缩放(两种方法):
root.resizable(width=False, height=False)#禁止改变窗口大小
root.resizable(0, 0) # 设置窗口大小不可变
(3)获取窗口的方法
winfo_width获得窗口的宽度,winfo_height获得窗口的高度。以上两个方法都是无参方法,通过返回值我们可以获得窗口的宽高。
from tkinter import *
def go():
txt = '窗口的左上角坐标为:(%s,%s)\n窗口的高度为:%s窗口的宽度为:%s' \
% (root.winfo_x(),root.winfo_y(),root.winfo_width(),root.winfo_height())
label1.configure(text=txt)
root.after(1,go)
root = Tk()
root.geometry("300x200+100+50")
label1 = Label(root)
label1.pack(expand=YES)
go()
root.mainloop()
运行效果如下:
(4)一个很重要的知识点
我们使用上述的方法得到的位置和宽高,其实是tk初始化时的一个值。因此在初始化的时候默认都是1,如果需要获取准确的位置和大小信息 此时我们调用update方法,刷新win窗口。
运行脚本如下:
import tkinter
win = tkinter.Tk()
win.geometry("100x100")
print("初始化的窗口的宽度和宽度为 %s * %s" % (win.winfo_width(),win.winfo_height()))
win.update()
print("update后的窗口的宽度和宽度为 %s * %s" % (win.winfo_width(),win.winfo_height()))
win.mainloop()
(5)常用的一些位置处理函数
设置窗口最大化
#设置窗口最大化:
#方法一
root = Tk()
w, h = root.maxsize()
root.geometry("{}x{}".format(w, h)) #看好了,中间的是小写字母x
#方法二
root = Tk()
w = root.winfo_screenwidth()
h = root.winfo_screenheight()
root.geometry("%dx%d" %(w, h))
#方法三
root = Tk()
root.attributes("-fullscreen", true)
设置居中显示
def center_window(root, width, height):
screenwidth = root.winfo_screenwidth()
screenheight = root.winfo_screenheight()
size = '%dx%d+%d+%d' % (width, height, (screenwidth - width) / 2, (screenheight - height) / 2)
print(size)
root.geometry(size)
root.update()
print(root.winfo_x())
调用脚本:
import tkinter as tk
root = tk.Tk()
root.title('测试窗口')
center_window(root, 500, 340)
root.mainloop()Python Tkinter 绘图项目 - 网易云课堂study.163.com
python设置窗口位置_python中tkinter窗口位置相关推荐
- Python设置画布大小_Python 之 Tkinter Canvas画布
定义: Canvas画布:画布控件用于将结构化图形的Python应用.主要用于绘制图表和曲线图. 语法格式: 可能选项的列表如下 选项 描述 bd 表示该边界的宽度,默认的宽度是 2 bg 它代表了 ...
- python设置堆大小_Python中的堆问题
Heap in python 堆(英语:Heap)是计算机科学中一类特殊的数据结构的统称.堆通常是一个可以被看做一棵树的数组对象.在队列中,调度程序反复提取队列中第一个作业并运行,因为实际情况中某些时 ...
- python设置http代理_python中设置HTTP代理的方法
什么是HTTP代理 HTTP代理本质上是一个Web应用,它和其他普通Web应用没有根本区别.HTTP代理收到请求后,根据Header中Host字段的主机名和Get/POST请求地址综合判断目标主机,建 ...
- python 设置全局代理_Python中使用socks5设置全局代理的方法示例
0x01介绍 PySocks使您可以通过SOCKS和HTTP代理服务器发送流量.它是SocksiPy的现代分支,具有错误修复和其他功能. 0x02 安装 λ pip3 install Pysocks ...
- python设置次坐标_Python中Matplotlib如何添加次坐标轴,添加多个图例
由于总量数据过大,不太适合与拆分的维度使用同一坐标轴展示,所以对于总量使用主坐标轴,拆分的细分维度均使用次坐标轴. 这是使用同一个坐标轴的结果: 知识点1:subplots() plt.subplot ...
- python设置字符间距_Python中字符串的常见操作技巧总结
本文实例总结了Python中字符串的常见操作技巧.分享给大家供大家参考,具体如下: 反转一个字符串 >>> S = 'abcdefghijklmnop' >>> S ...
- python算法和数据结构_Python中的数据结构和算法
python算法和数据结构 To 至 Leonardo da Vinci 达芬奇(Leonardo da Vinci) 介绍 (Introduction) The purpose of this ar ...
- python视窗版_Python GUI tkinter窗口视窗学习3
Python GUI tkinter窗口视窗学习3 # test9 import tkinter as tk window = tk.Tk() window.title('my test9') win ...
- python tkinter 下拉框_python中tkinter入门之Menu创建顶级菜单、下拉菜单和弹出菜单。...
创建顶级菜单 Menu 组件通常被用于实现应用程序上的各种菜单.使用add_command可以添加菜单内容.创建后通过root.config()添加到窗口上. from tkinter import ...
- python中与label类似的控件是_python中tkinter的使用(控件整理)(一)
1.使用tkinter.Tk() 生成主窗口(window=tkinter.Tk()): window.title('标题名')修改框体的名字,也可在创建时使用className参数来命名: wind ...
最新文章
- Moss/Sharepoint 一些很重要的API备忘
- FormsAuthentication详解
- 在.NET上如何根据字符串动态创建控件
- 如何看linux是32位还是64位--转
- MATLAB机器学习系列-3:BP神经网络算例实现
- 天池 在线编程 输入流
- java实现把数据写入到Excel并下载
- [复变函数]第19堂课 5.3 解析函数在无穷远处的性质
- 2 追踪光线=》2.2 前向光线追踪和逆向光线追踪
- 【Java】java JMX之ObjectName
- python list二维数组_python中的二维数组和lamda
- 转:expect的基本用法 - Shell - ChinaUnix.net -
- 大创笔记——硬切法实现基于单片机的人机交互系统
- 20071020ー胡小蝶
- 我用 140 行代码,带你看一场流星雨⭐
- python getcwd_Python3 os.getcwd() 方法
- 画爱心代码 python
- 电脑有网但打不开网页怎么办?
- dropout层加在哪里_Nomaomi
- j3455文件服务器,UNRAID下解决华擎 J3455-ITX IOMMU 分组(4口网卡顺利分开直通 )...
热门文章
- 一个对于三只松鼠视觉稿的分析
- 利用互斥量实现进程间同步
- 安利一款提醒休息的工具--重度电脑工作者和程序员必备
- Naive Bayes Model 朴素贝叶斯 简单易懂的笔记by hch
- 【论文笔记】RETHINKING NETWORK DESIGN AND LOCAL GEOMETRY IN POINT CLOUD: A SIMPLE RESIDUAL MLP FRAMEWORK
- 【操作系统】—I/O设备的基本概念和分类
- Longhorn 企业级云原生容器存储解决方案-部署篇
- matplotlib 网格线不要覆盖柱状图
- 神经网络未来发展趋势,神经网络未来发展前景
- 大学本科计算机专业那些课 左飞