背景:準備給長輩買個手機,有關手機大小,網購平臺基本只有手機尺寸和分辨率的文本數據,於是對手機屏幕大小沒有直觀感覺,雖然網上有比較手機大小的網站(百度搜索),可是隻有知名的手機纔有數據,於是本身動手寫了個python腳本,根據手機的尺寸及分辨率,利用tkinter繪圖直觀比較兩個手機屏幕的大小。python
目前遇到的問題是:tkinter繪圖設置是左上角和右下角座標,人的閱讀習慣是左下角和右上角,還不知道解決。canvas
直接丟代碼,效果圖在文末:oop
import tkinter,math #手機一參數設置: first_phone = (7.2,2244,1080) #(尺寸,分辨長,分辨寬) #手機二參數設置: second_phone =(6.59,2340,1080) #(尺寸,分辨長,分辨寬) def calc_phone(phone_info):#參數爲手機信息(尺寸,分辨率長,分辨率寬) diagonal,res_l,res_w = phone_info #計算寬度 w = math.sqrt( math.pow(diagonal, 2)*math.pow(res_w,2)/(math.pow(res_w,2)+math.pow(res_l,2)) ) #計算長度 l = math.sqrt(math.pow(diagonal, 2)-math.pow(w,2)) return l,w #建立窗口 window = tkinter.Tk() #窗口標題 window.title(f'手機大小對比 藍色({first_phone[0]}尺寸),黑色({second_phone[0]}尺寸)') #建立畫布 canvas = tkinter.Canvas (window,width=600,height=800,bg="white") #繪製矩形a,b,c,d值爲左上角和右下角的座標),填充顏色:blue,邊框顏色:blue a = 100 c,d = calc_phone(first_phone) canvas.create_rectangle(a,a,a+100*d,a+100*c,outline='blue')#手機一 c,d = calc_phone(second_phone) canvas.create_rectangle(a,a,a+100*d,a+100*c)#手機二 #包裝畫布 canvas.pack() #刪除指定圖形 # canvas.delete("red") #運行並顯示窗口 window.mainloop()
效果圖以下
網站