用Tkinter打造GUI开发工具(50)改变Tkinter对话窗askstring的大小和位置等信息
在Tkinter中,对话框的位置和大小都是固定的。因此很多朋友在使用时感觉很不方便。
我们在用Tkinter开发复杂窗口应用程序时,经常需要对Tkinter对话窗askstring的大小和位置做修改。
我们这个给出修改的相关代码,给大家借鉴。
核心模块代码如下。
from tkinter.simpledialog import askstring, Dialog
#移动窗口到屏幕中央
def setCenter(root,w=0,h=0):
ws = root.winfo_screenwidth()
hs = root.winfo_screenheight()
if w==0 or h==0:
w= root.winfo_width() #获取窗口宽度(单位:像素)
h = root.winfo_height() #获取窗口高度(单位:像素)
x = int( (ws/2) - (w/2) )
y = int( (hs/2) - (h/2) )
root.geometry('{}x{}+{}+{}'.format(w, h, x, y))
##改变对话框大小并移动到屏幕中心
def change_geometry():
global wctj,mroot
widget = mroot.winfo_children()[-1]
if isinstance(widget, Dialog):
htk.setCenter(widget,w=300,h=140)
##使用对话框
def show_dialog():
global wctj,mroot
mroot.after(10, change_geometry)
return askstring('问财选挂', '问财条件',initialvalue=wctj, parent=mroot)
在程序中使用示例代码如下:
import tkinter as tk #导入Tkinter
global wctj,mroot
wctj='近期涨幅最前的100名股票'
mroot=tk.Tk()
wctj=show_dialog()
mroot.mainloop()
程序中改了对话框的大小,并且把对话框移到屏幕中心位置。
有新的想法或问题可以我交流.
欢迎继续关注我的博客。
超越自己是我的每一步!我的进步就是你的进步!