文章目錄
本文記錄總結自己在學習tkinter過程中關於anchor參數問題的研究。
本文很短,但很精悍。
咳咳,那麼讓我們首先了解下tkinter中anchor參數有哪些。
(注意,參數的英文都是小寫)
字母 | 方位 |
---|---|
n | 北 |
s | 南 |
w | 西 |
e | 東 |
center | 中心 |
nw | 西北 |
ne | 東北 |
sw | 西南 |
se | 東南 |
我們用一張圖片來舉例,以上參數就代表了圖片上的九個點
舉一個最常用的例子,就是我們利用canvas在窗口中放置圖片。
代碼可能是這樣的:
import tkinter as tk
root= tk.Tk()
root.title('錨點問題')
root.geometry('500x500') # 設置窗口爲500x500
canvas = tk.Canvas(root, width=400, height=400, bg='yellow') # 創建400x400,背景爲黃色的畫布
image_file = tk.PhotoImage(file='個人頭像.png') # 創建圖片對象
image = canvas.create_image(200, 200, anchor='center', image=image_file) # 將圖片放置在畫布上
canvas.pack() # 放置畫布
root.mainloop()
詳細說明下
- 我們創建了一個寬高爲500x500窗口
- 創建了一個寬高爲400x400,背景爲黃色的畫布
- 我們創建了一個圖片對象,存放着我們需要的圖片
- 我們把圖片放置在畫布上,以圖片的center位置爲錨點,將該點放置在畫布中(200,200)座標上,從而確定了整個圖片在畫布中的位置。
最後呈現的樣子就是這樣的:
最後提醒一下兩個需要注意的點:
——
【01】注意參照系問題
注意座標系的參考,當我們在畫布中放置圖片時,是以畫布爲參照系系,而不是原本的窗口作爲參照系。仔細看看上面的參考圖應該能明白,整個畫布的左上角爲(0,0)
點。
——
【02】選擇合適錨點定位
我們要充分結合圖片寬高大小,選定合適的錨點,將其放置在合適的位置,從而確保圖片按照我們的預期準確放置,避免出現圖片顯示不全的問題。
比如,如果在上面的代碼中,我們將anchor = 'n'
,那麼最終就成這樣子了。當然我們也可以通過改變座標來將其放在想要的位置的,不過如果想放在跟剛剛同樣的位置上,座標上就比較難找。
所以選擇合適的錨點還是很重要!