用Tkinter打造GUI开发工具(50)改变对话窗askstring的大小和位置等信息

admin2024-09-11  31

用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()

程序中改了对话框的大小,并且把对话框移到屏幕中心位置。
有新的想法或问题可以我交流.
欢迎继续关注我的博客。
超越自己是我的每一步!我的进步就是你的进步!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明原文出处。如若内容造成侵权/违法违规/事实不符,请联系SD编程学习网:675289112@qq.com进行投诉反馈,一经查实,立即删除!