python tkinter界面居中显示的方法

作者:宣小K 时间:2023-10-14 11:16:18 

由于tkinter没有直接提供居中显示的api,因此,要想将tk的对话框居中显示,需要用到tk自带的设定位置的方法geometry()


nScreenWid, nScreenHei = tkLogin.maxsize()
nCurWid = tkLogin.winfo_reqwidth()
nCurHeight = tkLogin.winfo_reqheight()
tkLogin.geometry("{}x{}+{}+{}".format(nCurWid, nCurHeight, nScreenWid/2 - nCurWid/2, nScreenHei/2 - nCurHeight/2))

通过maxsize()方法获得显示器的分辨率,再通过winfo_reqwidth/height()方法获取当前对话框的大小。

这里需要注意的是,winfo_width和winfo_reqwidth的区别,前者是当前窗口大小,不一定是原定大小,如果此窗口还未开始mainloop,那么返回值会为0。因此,要在创建时居中显示,那么得用winfo_reqwidth,即取得窗口应该有的大小。

最后,用geometry()来设定窗口大小和显示的位置。

来源:https://blog.csdn.net/bloodfeast/article/details/79005874

标签:python,tkinter
0
投稿

猜你喜欢

  • pyqt5蒙版遮罩mask,setmask的使用

    2022-04-05 21:00:58
  • Django框架设置cookies与获取cookies操作详解

    2021-07-24 09:10:49
  • Mysql索引选择以及优化详解

    2024-01-18 13:56:12
  • asp + oracle 分页方法

    2010-05-11 20:09:00
  • 画pytorch模型图,以及参数计算的方法

    2023-09-25 09:12:58
  • 在PyCharm的 Terminal(终端)切换Python版本的方法

    2021-10-31 08:37:07
  • Python实现屏幕代码雨效果的示例代码

    2021-08-29 12:48:09
  • 用原生js做单页应用

    2024-04-16 09:51:27
  • 使用vue与jquery实时监听用户输入状态的操作代码

    2023-07-02 17:08:02
  • 如何使用django的MTV开发模式返回一个网页

    2023-07-04 21:47:06
  • 解决MySQL 5数据库连接超时问题

    2009-03-25 15:24:00
  • CentOS 7.2下MySQL的安装与相关配置

    2024-01-16 23:21:29
  • python下函数参数的传递(参数带星号的说明)

    2022-12-20 02:58:59
  • Vue3 组件库的环境配置搭建过程

    2024-04-30 10:19:58
  •  SQL 中 CASE 表达式的使用方式

    2024-01-23 14:18:47
  • PHP行为型模式之责任链模式

    2023-06-03 17:37:07
  • 超详细注释之OpenCV构建透明的叠加层

    2021-08-18 14:51:01
  • MySQL关联查询优化实现方法详解

    2024-01-12 17:06:11
  • 对python操作kafka写入json数据的简单demo分享

    2023-05-04 21:24:08
  • Ubuntu下MySQL安装及配置远程登录教程

    2024-01-23 23:55:33
  • asp之家 网络编程 m.aspxhome.com