Python: tkinter窗口屏幕居中,设置窗口最大,最小尺寸

  1. import tkinter  as tk  
  2. from tkinter    import ttk  
  3.   
  4. def get_screen_size(window):  
  5.     return window.winfo_screenwidth(),window.winfo_screenheight()  
  6.   
  7. def get_window_size(window):  
  8.     return window.winfo_reqwidth(),window.winfo_reqheight()  
  9.   
  10. def center_window(root, width, height):  
  11.     screenwidth = root.winfo_screenwidth()  
  12.     screenheight = root.winfo_screenheight()  
  13.     size = '%dx%d+%d+%d' % (width, height, (screenwidth - width)/2, (screenheight - height)/2)  
  14.     print(size)  
  15.     root.geometry(size)  
  16.   
  17. root = tk.Tk()  
  18. root.title('测试窗口')  
  19. center_window(root, 300240)  
  20. root.maxsize(600400)  
  21. root.minsize(300240)  
  22. ttk.Label(root, relief = tk.FLAT, text = '屏幕大小(%sx%s)\n窗口大小(%sx%s)' % (get_screen_size(root) + get_window_size(root))).pack(expand = tk.YES)  
  23. tk.mainloop()  
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
使用 JavaScript 编写的记忆游戏(附源代码)   项目:JavaScript 记忆游戏(附源代码) 记忆检查游戏是一个使用 HTML5、CSS 和 JavaScript 开发的简单项目。这个游戏是关于测试你的短期 记忆技能。玩这个游戏 时,一系列图像会出现在一个盒子形状的区域中 。玩家必须找到两个相同的图像并单击它们以使它们消失。 如何运行游戏? 记忆游戏项目仅包含 HTML、CSS 和 JavaScript。谈到此游戏的功能,用户必须单击两个相同的图像才能使它们消失。 点击卡片或按下键盘键,通过 2 乘 2 旋转来重建鸟儿对,并发现隐藏在下面的图像! 如果翻开的牌面相同(一对),您就赢了,并且该对牌将从游戏中消失! 否则,卡片会自动翻面朝下,您需要重新尝试! 该游戏包含大量的 javascript 以确保游戏正常运行。 如何运行该项目? 要运行此游戏,您不需要任何类型的本地服务器,但需要浏览器。我们建议您使用现代浏览器,如 Google Chrome 和 Mozilla Firefox, 以获得更好、更优化的游戏体验。要玩游戏,首先,通过单击 memorygame-index.html 文件在浏览器中打开游戏。 演示: 该项目为国外大神项目,可以作为毕业设计的项目,也可以作为大作业项目,不用担心代码重复,设计重复等,如果需要对项目进行修改,需要具备一定基础知识。 注意:如果装有360等杀毒软件,可能会出现误报的情况,源码本身并无病毒,使用源码时可以关闭360,或者添加信任。
### 回答1: 你好!要在Python中创建窗口界面,可以使用Tkinter模块。 以下是一个简单的例子,展示如何创建一个简单的窗口: ```python import tkinter as tk root = tk.Tk() # 创建一个窗口 # 设置窗口标题 root.title("我的窗口") # 设置窗口大小 root.geometry("300x200") # 显示窗口 root.mainloop() ``` 你可以运行这段代码,看看它创建了一个多大为300x200的名为“我的窗口”的窗口。 在这个窗口中,你可以添加各种小部件(widgets),如标签、按钮、文本框等。以下是一个例子,展示如何添加一个标签: ```python import tkinter as tk root = tk.Tk() # 创建一个标签 label = tk.Label(root, text="欢迎来到我的窗口!") # 把标签添加到窗口中 label.pack() root.mainloop() ``` 你可以运行这段代码,看看它在窗口中添加了一个标签。 希望这能帮到你!如果你有任何其他问题,请随时问我。 ### 回答2: 使用Python中的Tkinter库创建窗口时,有时需要将其居中显示,而不是在屏幕左上角显示。这可以通过简单的代码完成,具体如下: 首先,需要使用Tkinter库创建一个窗口对象并设置其宽度和高度。可以使用root = tk.Tk()来创建窗口对象。接下来,需要设置窗口宽度和高度。例如,可以使用root.geometry('500x500') 将窗口设置为500像素宽和500像素高。 然后,可以使用以下方法在屏幕中心显示窗口。 ```python root.eval('tk::PlaceWindow %s center' % root.winfo_toplevel()) ``` 这会在窗口的位置属性中将值设置为center,从而将窗口放置在屏幕中心。 最后,使用root.mainloop()方法来显示窗口并使其保持打开状态,直到用户关闭它。 完整代码示例: ```python import tkinter as tk root = tk.Tk() root.geometry('500x500') root.eval('tk::PlaceWindow %s center' % root.winfo_toplevel()) root.mainloop() ``` 在执行此代码时,将在屏幕中心显示一个宽度和高度为500像素的窗口。这个小技巧可以在创建GUI应用程序时非常有用,使用户界面更好地呈现并保持高度可用性。 ### 回答3: Python tkinter是一个非常流行的图形用户界面(GUI)工具包,而窗口是GUI界面的主要组成部分之一,因此如何居中窗口是一个非常基础的问题。在Python tkinter中,我们可以通过以下步骤将窗口居中。 步骤1:获取屏幕的宽度和高度 ``` screen_width = root.winfo_screenwidth() # 获取屏幕宽度 screen_height = root.winfo_screenheight() # 获取屏幕高度 ``` 步骤2:获取窗口的宽度和高度 ``` win_width = root.winfo_reqwidth() # 获取窗口宽度 win_height = root.winfo_reqheight() # 获取窗口高度 ``` 步骤3:计算窗口居中的位置 ``` x = int((screen_width - win_width) / 2) # 计算窗口左上角x坐标 y = int((screen_height - win_height) / 2) # 计算窗口左上角y坐标 ``` 步骤4:将窗口移动到居中位置 ``` root.geometry("{}x{}+{}+{}".format(win_width, win_height, x, y)) # 将窗口移动到居中位置 ``` 另外,如果我们还想让窗口屏幕大小发生变化时仍然保持居中,可以将上述代码封装为函数,并将函数绑定到窗口的"Configure"事件中。 完整代码如下: ``` import tkinter as tk def center_window(root): # 获取屏幕宽度和高度 screen_width = root.winfo_screenwidth() screen_height = root.winfo_screenheight() # 获取窗口宽度和高度 win_width = root.winfo_reqwidth() win_height = root.winfo_reqheight() # 计算居中位置 x = int((screen_width - win_width) / 2) y = int((screen_height - win_height) / 2) # 将窗口移动到居中位置 root.geometry("{}x{}+{}+{}".format(win_width, win_height, x, y)) root = tk.Tk() root.title("居中窗口") center_window(root) # 将center_window函数绑定到窗口的"Configure"事件中 root.bind("<Configure>", lambda event: center_window(root)) root.mainloop() ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值