用Tkinter打造GUI开发工具(50)改变对话窗askstring的大小和位置等信息
用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,mrootwidget = mroot.winfo_children()[-1]if isinstance(widget, Dialog):htk.setCenter(widget,w=300,h=140)##使用对话框
def show_dialog():global wctj,mrootmroot.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()
程序中改了对话框的大小,并且把对话框移到屏幕中心位置。
有新的想法或问题可以我交流.
欢迎继续关注我的博客。
超越自己是我的每一步!我的进步就是你的进步!