15AH, San Francisco

California, United States.

Send Your Mail At:

tianyingkejishe@sina.cn

Working Hours

Mon-Sat: 9.30am To 7.00pm

归档标题

Autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et dolore feugait.

月度归档 9月 25, 2020

【音乐】前面的光明

写程序是个力气活,累了听听音乐可好!

《 故乡的原风景 》
《莫失莫忘》
《last reunion》
《告白之夜》
《城南花已开》

【Python】Tkinter GUI Toplevel多窗口模态处理

一、Python tkinter多窗口实现

此实例涉及到Tkinter的Toplevel组件应用,通过toplevel可以实现多窗口,从字面意思理解为顶层窗口。

from tkinter import *
root = Tk()
def create():
#创建一个顶级弹窗
    top = Toplevel()
    top.title('我的弹窗')
   # top.attributes('-alpha',0.5)这个可以设置弹出窗口的透明度
    msg = Message(top,text = '类似于弹出窗口,具有独立的窗口属性。',width = 150)
    msg.pack()
Button(root,text = '创建一个顶级窗口',command = create).pack(padx = 20,pady = 50)
mainloop()

二、Python窗口的模态与非模态

大家都很清楚对于多窗口应用的场景中,对主窗口与子窗口之间的关系应用不同,大多数都是希望在处理子窗口的时候,不希望使用者同时可操作主窗口的逻辑,所以模态的概念由此产生,那对于上面的实例如何实现呢,看下面改进方案:

from tkinter import *
root = Tk()
def create():
#创建一个顶级弹窗
    top = Toplevel()
    top.title('我的弹窗')
    top.grab_set()#使当前页面活跃,模态实现
    top.focus_set()#使鼠标键盘聚焦在当前页面
   # top.attributes('-alpha',0.5)这个可以设置弹出窗口的透明度
    msg = Message(top,text = '类似于弹出窗口,具有独立的窗口属性。',width = 150)
    msg.pack()
Button(root,text = '创建一个顶级窗口',command = create).pack(padx = 20,pady = 50)
mainloop()