由于tkinter沒有直接提供居中顯示的api,因此,要想將tk的對話框居中顯示,需要用到tk自帶的設(shè)定位置的方法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()方法獲取當(dāng)前對話框的大小。
這里需要注意的是,winfo_width和winfo_reqwidth的區(qū)別,前者是當(dāng)前窗口大小,不一定是原定大小,如果此窗口還未開始mainloop,那么返回值會為0。因此,要在創(chuàng)建時(shí)居中顯示,那么得用winfo_reqwidth,即取得窗口應(yīng)該有的大小。
最后,用geometry()來設(shè)定窗口大小和顯示的位置。
以上這篇python tkinter界面居中顯示的方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持武林站長站。
新聞熱點(diǎn)
疑難解答
圖片精選