首页
学习
活动
专区
圈层
工具
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何控制位置tkinter窗口会在窗口被拖起时居中

在使用tkinter创建窗口时,可以通过设置窗口的位置来实现窗口在被拖起时居中显示。以下是一种实现方法:

  1. 导入tkinter模块:
代码语言:txt
复制
import tkinter as tk
  1. 创建窗口并设置其大小:
代码语言:txt
复制
window = tk.Tk()
window.geometry("400x300")  # 设置窗口大小为400x300
  1. 定义一个函数来居中窗口:
代码语言:txt
复制
def center_window(window):
    window.update_idletasks()  # 更新窗口的尺寸
    width = window.winfo_width()  # 获取窗口的宽度
    height = window.winfo_height()  # 获取窗口的高度
    screen_width = window.winfo_screenwidth()  # 获取屏幕的宽度
    screen_height = window.winfo_screenheight()  # 获取屏幕的高度
    x = (screen_width - width) // 2  # 计算窗口的左上角x坐标
    y = (screen_height - height) // 2  # 计算窗口的左上角y坐标
    window.geometry("{}x{}+{}+{}".format(width, height, x, y))  # 设置窗口的位置为居中
  1. 在创建窗口后调用center_window函数:
代码语言:txt
复制
window.after(0, lambda: center_window(window))  # 在窗口创建后立即调用center_window函数

完整的代码示例:

代码语言:txt
复制
import tkinter as tk

def center_window(window):
    window.update_idletasks()
    width = window.winfo_width()
    height = window.winfo_height()
    screen_width = window.winfo_screenwidth()
    screen_height = window.winfo_screenheight()
    x = (screen_width - width) // 2
    y = (screen_height - height) // 2
    window.geometry("{}x{}+{}+{}".format(width, height, x, y))

window = tk.Tk()
window.geometry("400x300")
window.after(0, lambda: center_window(window))
window.mainloop()

这样,当你拖动窗口时,窗口会自动居中显示在屏幕上。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

软件测试|超好用超简单的Python GUI库——tkinter(四)

首先自定义一个函数或者方法,然后将函数与按钮关联起来,最后,当用户按下这个按钮时,Tkinter 就会自动调用相关函数。...控件的常营属性如下所示:属性说明anchor控制文本所在的位置,默认为中心位置(CENTER)activebackground当鼠标放在按钮上时候,按妞的背景颜色activeforeground当鼠标放在按钮上时候...当按钮被点击时,执行该函数fg按钮的前景色font按钮文本的字体样样式height按钮的高度highlightcolor按钮控件高亮处要显示的颜色image按钮上要显示的图片justify按钮显示多行文本时...as tkfrom tkinter import messageboxwindow = tk.Tk()# 设置窗口的标题window.title('登峰造极境')# 设置并调整窗口的大小、位置window.geometry.../SW/NE 等,这与anchor参数控制文本的显示位置,有着异曲同工之妙。

1.5K30

python tkinter 设计指南

resizable(0,0)或者resizable(False,False)时不可更改 window.geometry() 设定主窗口的大小以及位置,当参数值为 None 时表示获取窗口的大小和位置信息...window.quit() 关闭当前窗口 window.update() 刷新当前窗口 window.mainloop() 设置窗口主循环,使窗口循环显示(一直显示,指导窗口被关闭) window.iconbitmap...(50,50) 设置窗口被允许调整的最小范围,即宽和高各50 window.maxsize(400,400) 设置窗口被允许调整的最大范围,即宽和高各400 window.attributes("-alpha...as tk window = tk.Tk() window.title('c语言中文网') # 设置窗口大小变量 width = 300 height = 300 # 窗口居中,获取屏幕尺寸以计算布局参数...,比如当鼠标离开输入框的时候 控件的发生改变的时候触发事件,比如调整了控件的大小等 当控件的状态从“激活”变为“未激活”时触发事件 当控件被销毁的时候触发执行事件的函数 当窗口或组件的某部分不再被覆盖的时候触发事件

7.4K30
  • Tkinter教程(每天半小时,3天彻底掌握Tkinter)day1

    是什么 Tkinter的弊端 第一个Tkinter程序 插入ico 关闭python窗体 python窗体居中设置 护眼色_颜色名称_16进制色值_RGB色值 主窗体设置 窗口常用方法 python获取电脑屏幕的大小...Tkinter 编写的程序,也称为 GUI 程序,GUI (Graphical User Interface)指的是“图形用户界面”,它是计算机图形学(CG)的一门分支,主要研究如何在计算机中表示图形,...() 是否允许用户拉伸主窗口大小,默认为可更改,当设置为 resizable(0,0)或者resizable(False,False)时不可更改 window.geometry() 设定主窗口的大小以及位置...,当参数值为 None 时表示获取窗口的大小和位置信息。...(50,50) 设置窗口被允许调整的最小范围,即宽和高各50 window.maxsize(400,400) 设置窗口被允许调整的最大范围,即宽和高各400 window.attributes("-alpha

    5.7K20

    图形化界面的开发(GUI)_Tkinter库的使用-2(Label+Message+Text)

    import tkinter as tk创建窗口window = tk.Tk()设置窗口标题window.title("第一个窗口")设置窗口大小window.geometry("400x300")显示窗口...**params:其他参数常用属性下面是Label一些常用属性: 属性名称 说明 anchor 控制文本(或图像)在 Label 中显示的位置...示例 import tkinter as tk # 导入tkinter模块并简写为tk # 创建窗口 window = tk.Tk() # 窗口标题 window.title("Message窗口")...示例 import tkinter as tk # 导入tkinter模块并简写为tk # 创建窗口 window = tk.Tk() # 窗口标题 window.title("Text窗口") # 窗口大小...博客 本人是一个渗透爱好者,不时会在微信公众号(laity的渗透测试之路)更新一些实战渗透的实战案例,感兴趣的同学可以关注一下,大家一起进步。

    37610

    软件测试|超好用超简单的Python GUI库——tkinter(二)

    (0,0)或者resizable(False,False)时不可更改window.geometry()设定主窗口的大小以及位置,当参数值为 None 时表示获取窗口的大小和位置信息。...当 Tkinter 使用 WM_DELETE_WINDOW 协议与主窗口进行交互时,Tkinter 主窗口右上角x号的关闭功能失效,也就是无法通过点击x来关闭窗口,而是转变成调用用户自定义的函数。...设置窗的位置当我们运行 Tkinter 程序时,主窗口都会出现在距离屏幕左上角指定的位置上,这是由 Tkinter 软件包默认设置的。...但是在许多情况下,我们需要根据实际情况来移动窗口在电脑屏幕上的位置,这时应该如何处理呢?...,包括窗口大小,颜色,标题,位置的设置,后面我们将介绍tkinter标签控件的操作。

    2.9K30

    Python 笔记:GUI编程(Tkinter)

    label比较类似 Radiobutton 单选按钮控件;显示一个单选的按钮状态 Scale 范围控件;显示一个数值刻度,为输出限定范围的数字区间 Scrollbar 滚动条控件,当内容超过可视化区域时使用...控件有特定的几何状态管理方法,管理整个控件区域组织,一下是Tkinter公开的几何管理类:包、网格、位置 几何方法 描述 pack() 包装; grid() 网格; place() 位置; 以上内容转自...:http://www.runoob.com/python/python-gui-tkinter.html 设置标题和大小以及窗口位置 123456789101112131415 from tkinter...import * root = Tk() root.title("TkinterSimple")#窗口大小width ,height= 600, 600#窗口居中显示root.geometry('%dx...from tkinter import * root = Tk() root.title("TkinterSimple")#窗口大小width ,height= 600, 600#窗口居中显示root.geometry

    5.7K30

    目录

    此时,你可以制作一些普通的窗口来显示消息,但尚未创建功能完善的应用程序。在下一节中,你将学习如何使用Tkinter强大的几何管理器来控制应用程序的布局。...对于给定的小部件,打包算法具有两个主要步骤: 计算一个矩形区域称为地块,这只是高(或宽)足以容纳窗口小部件并填补了空白空间窗口中剩余的宽度(或高度)。 除非指定其他位置,否则将小部件居中。...扩大窗口时,三个Frame小部件的宽度会增加以填充窗口: 但是请注意,这些Frame小部件不会在垂直方向上展开。 所述side的关键字参数.pack()指定在其上的窗口侧的窗口小部件应放置。...试一下weight和minsize参数,看看它们如何影响网格。 默认情况下,小部件在其网格单元中居中。...在本教程中,你已经学到了一些重要的Tkinter概念: 如何使用小部件 如何使用几何图形管理器控制应用程序布局 如何使你的应用程序具有交互性 如何使用五个基本Tkinter的部件(Label,Button

    31K20

    Tkinter学习笔记一:第一个简单的python图形界面程序

    参考资料 B站教学视频 IT兄弟连 Python视频教程 Python核心方法 tkinter Tkinter 做简单的窗口视窗 (GUI 莫烦 Python 教程) 程序基本功能 选择数据——生成柱形图...——保存到指定的位置 结果 ?...() 获取文件夹路径 tkinter.filedialog.askdirectory() 需要改进的地方: 1、如何控制图形界面中图片的摆放位置?...比如本次结果中我想要石榴的图片居中显示如何实现?本次结果中的图片位置偏左,看起来有点怪! 2、如何将生成的结果图以弹窗的形式显示出来,在弹出之前还要问是否显示。...3、如何将结果打包成一个可执行文件,直接通过鼠标点击启动,而不需要通过命令行启动图形界面。

    1.5K20

    Tkinter教程(每天半小时,3天彻底掌握Tkinter)day2

    ipadx,ipady 用于控制内边距,在单元格内部,左右、上下方向上填充指定大小的空间。 padx,pady 用于控制外边距,在单元格外部,左右、上下方向上填充指定大小的空间。...在学习 Tkinter GUI 编程的过程中,不仅要学会如何摆放这些控件,还是掌握各种控件的功能、属性,只有这样才能开发出一个界面设计优雅,功能设计完善的 GUI 程序。...控件类型 下表列出了 Tkinter 中常用的 13 个控件: 控件类型 控件名称 控件作用 Button 按钮 点击按钮时触发/执行一些事件(函数) Checkbutton 复选框 多项选择按钮,用于在程序中提供多项选择框...为组件提供一个框架,允许用户自己划分窗口空间 Radiobutton 单选框 单项选择按钮,只允许从多个选项中选择一项 Scale 进度条控件 定义一个线性“滑块”用来控制范围,可以设定起始值和结束值...属性名称 说明 anchor 控制文本(或图像)在 Label 中显示的位置(方位),通过方位的英文字符串缩写(n、ne、e、se、s、sw、w、nw、center)实现定位,默认为居中(center)

    4.4K20

    Python 图形化界面基础篇:添加单选按钮( Radiobutton )到 Tkinter 窗口

    在本文中,我们将详细解释如何在 Tkinter 窗口中添加单选按钮,并如何获取用户所做的选择。 什么是 Tkinter 单选按钮( Radiobutton )?...让我们开始学习如何在 Tkinter 窗口中添加单选按钮。 步骤1:导入 Tkinter 模块 首先,请确保你已经安装了 Python 并包含了 Tkinter 库。...步骤5:将单选按钮添加到窗口 一旦创建了单选按钮,需要使用 pack() 方法将它们添加到窗口中。这将确定单选按钮在窗口中的位置。...完整示例代码 以下是一个完整的示例代码,演示如何创建一个 Tkinter 窗口并在其中添加两个单选按钮,并在按钮点击时获取用户选择的选项: import tkinter as tk # 创建Tkinter...我们定义了一个名为 button_click 的按钮点击事件处理程序,它会在按钮被点击时执行。在这个示例中,我们使用 get() 方法获取用户选择的单选按钮的值,并根据值更新标签的文本。

    3.6K71

    Python 图形化界面基础篇:添加文本框( Entry )到 Tkinter 窗口

    在这篇文章中,我们将详细解释如何在 Tkinter 窗口中添加文本框,以及如何获取和处理用户输入的文本信息。 什么是 Tkinter 文本框( Entry )?...步骤5:将文本框添加到窗口 一旦创建了文本框,需要使用 pack() 方法将其添加到窗口中。这将确定文本框在窗口中的位置。...entry.pack() pack() 方法会根据窗口的大小和内容自动调整文本框的位置。...完整示例代码 以下是一个完整的示例代码,演示如何创建一个 Tkinter 窗口并在其中添加一个文本框,并在按钮点击时获取文本框中的内容: import tkinter as tk # 创建Tkinter...然后,我们创建了一个文本框对象 entry ,将其附加到 root 窗口,用户可以在其中输入文本。 我们定义了一个名为 button_click 的按钮点击事件处理程序,它会在按钮被点击时执行。

    3.4K40

    Python 图形化界面基础篇:添加复选框( Checkbutton )到 Tkinter 窗口

    在本文中,我们将详细解释如何在 Tkinter 窗口中添加复选框,并如何获取用户所做的选择。 什么是 Tkinter 复选框( Checkbutton )?...步骤5:将复选框添加到窗口 一旦创建了复选框,需要使用 pack() 方法将其添加到窗口中。这将确定复选框在窗口中的位置。...checkbox.pack() pack() 方法会根据窗口的大小和内容自动调整复选框的位置。...完整示例代码 以下是一个完整的示例代码,演示如何创建一个 Tkinter 窗口并在其中添加一个复选框,并在按钮点击时获取复选框的值: import tkinter as tk # 创建Tkinter窗口...我们定义了一个名为 button_click 的按钮点击事件处理程序,它会在按钮被点击时执行。在这个示例中,我们使用 get() 方法获取复选框的值,并根据值更新标签的文本。

    2.5K50

    软件测试|超好用超简单的GUI库——tkinter(三)

    前言 前面我们介绍了tkinter主窗口的一系列操作,本篇文章我们将介绍Label控件,Label(标签)控件,是 Tkinter 中最常使用的一种控件,主要用来显示窗口中的文本或者图像,并且不同的 Lable...label常用属性 Label(标签)的常用属性如下表: 属性名称 说明 anchor 控制文本(或图像)在 Label 中显示的位置(方位),通过方位的英文字符串缩写(n、ne、e、se、s、sw、w...、nw、center)实现定位,默认为居中(center) bg 用来设置背景色 bd 即 borderwidth 用来指定 Label 控件的边框宽度,单位为像素,默认为 2 个像素 bitmap 指定显示在...,如果是 True,表示该标签接受输入焦点 text 用来指定 Lable 显示的文本,注意文本内可以包含换行符 underline 给指定的字符添加下划线,默认值为 -1 表示不添加,当设置为 1 时,...下面对它做简单的介绍,示例如下: from tkinter import * #创建主窗口 win = Tk() win.config(bg='#8DB6CD') win.title("拜仁慕尼黑")

    1.2K30

    Python 图形化界面基础篇:使用网格布局( Grid Layout )排列元素

    以下是一个示例,演示如何创建一个标签和一个按钮,并将它们放置在网格布局中的不同位置: # 创建一个标签 label = tk.Label(grid_frame, text="这是一个标签") # 将标签放置在第...标签被放置在第 0 行第 0 列,按钮被放置在第 1 行第 1 列。 步骤5:自定义网格布局 网格布局提供了很多选项来自定义网格中元素的排列和外观。...完整示例代码 下面是一个完整的示例代码,演示如何创建一个 Tkinter 窗口,并使用网格布局排列标签和按钮: import tkinter as tk # 创建Tkinter窗口 root = tk.Tk...最后,启动了 Tkinter 的主事件循环,使窗口可交互。 结论 在本文中,我们学习了如何使用 Tkinter 中的网格布局来排列和布局 GUI 元素。...通过将界面划分为行和列的网格,我们能够精确控制元素的位置和布局。在实际的 GUI 应用程序中,网格布局是一个非常有用的工具,可以帮助你创建出色的用户界面。

    2.2K60

    树莓派综合项目2:智能小车(二)tkinter图形界面控制

    其它基础内容会在文集:树莓派基础实验当中讲解。...: [aenqisnja2.jpeg] (三)创建基本窗口 #创建基本窗口 import tkinter as tk # 将tkinter导入到工程中 window =...') # 设置窗口大小,注意这里的x是英文字母x #如果需要规定窗体打开的位置,可以在在380x390后面加上“+10+10”, # 即横坐标为10,纵坐标为10 的位置 window.resizable...1.pack是一种相对布局方式,指定控件的相对位置,精确位置会由系统完成。 pack布局没有任何属性参数,默认会自上而下垂直并且水平居中排列。...该车的行进控制与履带车的行进控制类似: 前进和后退很简单,左右两边的方向都朝前或朝后,速度一致; 原地顺时针旋转时,左边轮子前进,右边轮子后退,速度一致; 原地逆时针旋转时,左边轮子后退,右边轮子前进

    3K30

    Python 图形化界面基础篇:添加按钮( Button )到 Tkinter 窗口

    我们将详细解释如何在 Tkinter 窗口中添加按钮,以及如何为按钮定义响应函数,使其在点击时执行特定操作。 什么是 Tkinter 按钮( Button )?...步骤5:将按钮添加到窗口 一旦创建了按钮和响应函数,需要使用 pack() 方法将按钮添加到窗口中。这将确定按钮在窗口中的位置。...button.pack() pack() 方法会根据窗口的大小和内容自动调整按钮的位置。...我们定义了一个名为 button_click 的响应函数,它将在按钮被点击时执行。在这个示例中,我们将标签的文本更新为"按钮被点击了!"。...结论 在本文中,我们学习了如何在 Tkinter 窗口中添加按钮,以及如何为按钮定义响应函数,使其在点击时执行特定操作。

    4.1K30

    软件测试|超好用超简单的Python GUI库——tkinter(七)

    Tkinter 提供以下文本索引类型,如下表所示:索引类型说明INSERT对应插入光标的位置CURRENT对应与鼠标坐标最接近的位置END对应 Text 控件的文本域中最后一个字符的下一个位置"line.column...'拜仁 ')# 继续向后插入文字text.insert("insert", "VS 多特蒙德")# 获取字符,使用get() 方法print(text.get("1.3", "1.end"))# 显示窗口...将插入的按钮设置其标签名为"button"text.tag_add ("button", button)#使用 tag_config() 来改变标签"name"的前景与背景颜色,并加下画线,通过标签控制字符的样式...text.tag_config("name", font=('微软雅黑',18,'bold'),background="red", foreground= "blue",underline=1)#设置标签"button"的居中排列...Mark 有两种类型的标记,分别是“INSERT”和“CURRENT”,其含义如下:INSERT:指定当前插入光标的位置,Tkinter 会在该位置绘制一个闪烁的光标;CURRENT:用于指定当前光标所处坐标最邻近的位置

    60010

    Python中tkinter模块的常用参数总结

    1、使用tkinter.Tk() 生成主窗口(root=tkinter.Tk())root.title('标题名')      修改框体的名字,也可在创建时使用className参数来命名;root.resizable...(在Tkinter中窗口部件类没有分级;所有的窗口部件类在树中都是兄弟。)...组件的高度; relwidth: 组件相对于窗口的宽度,0-1; relheight:  组件相对于窗口的高度,0-1;5、使用tkinter.Button时控制按钮的参数...textvariable    可变文本,与StringVar等配合着用6、文本框tkinter.Entry,tkinter.Text控制参数background(bg)    文本框背景色...;Destroy      当组件被销毁时触发;Expose      当组件从被遮挡状态中暴露出来时触发;Unmap       当组件由显示状态变为隐藏状态时触发

    1.7K30
    领券