由于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()來設定窗口大小和顯示的位置。
以上這篇python tkinter界面居中顯示的方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持武林站長站。
新聞熱點
疑難解答