【瓢兒菜】Python-Tkinter 窗體居中


1、晚上下班回家,搗鼓canvas 結合pillow模塊顯示圖片,摸索窗體居中的法子,折騰一會兒。

2、設置窗體居中,先得到窗體的寬度、高度:

#獲取屏幕寬、高
windowX = win.winfo_screenwidth()
windowY = win.winfo_screenheight()

3、設置窗體寬、高,計算窗體開始顯示的中心坐標:

# 設置 窗口寬 高
x, y = 680,460
# 計算中心坐標
cen_x = (windowX-x) / 2
cen_y = (windowY-y) / 2
# print(cen_x, cen_y)
# 設置窗體寬高、顯示坐標
win.geometry('%dx%d+%d+%d' % (x, y,cen_x, cen_y))

4、測試效果:

5、全部代碼:

import tkinter as tk
from tkinter.messagebox import *
from PIL import Image,ImageTk

win=tk.Tk()
win.title("撲克牌程序")
#獲取屏幕寬、高
windowX = win.winfo_screenwidth()
windowY = win.winfo_screenheight()
# 設置 窗口寬 高
x, y = 680,460
# 計算中心坐標
cen_x = (windowX-x) / 2
cen_y = (windowY-y) / 2
# print(cen_x, cen_y)
# 設置窗體寬高、顯示坐標
win.geometry('%dx%d+%d+%d' % (x, y,cen_x, cen_y))
# canvas鋪滿整個窗體
cv=tk.Canvas(win,bg='pink',width=x,height=y)

imgs=[]
# 加載文件路徑
img=Image.open(".\\img\\1.jpg")
# 設置圖片顯示大小
img.resize((160,100),Image.ANTIALIAS)
# 插入13張撲克牌
for x in range(0,13):
    imgs.insert(x*13,ImageTk.PhotoImage(img))
    cv.create_image((200+20*x,80),image=imgs[x])

# 設置按鈕
bt1=tk.Button(win,text='重新發牌',width=60,height=40,command=None)
bt1.place(x=290,y=380,width=60,height=40)

cv.pack()

win.mainloop()

6、分享成功!

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM