我做了这个程序,我建议先运行它。主要想法是弹出窗口,它应该在点击文本信息后弹出。这可以正常工作,而不是用户需要关闭此窗口,所以我在右上角创建了红色关闭按钮(带有线条的矩形)。单击此按钮后,新窗口将消失,但应保留带椭圆形的第一个窗口。 我需要关闭这个窗口的功能,我试图找到解决方案很长一段时间,但我无法做到。好吗?
import tkinter
class Desktop:
def __init__(self):
self.canvas = tkinter.Canvas()
self.canvas.pack()
x, y = 25,25
for i in range(1,61):
self.canvas.create_oval(x-10, y-10, x+10, y+10, fill='blue')
self.canvas.create_text(x, y, text=i)
x += 30
if i%10==0:
x = 25
y += 40
self.canvas.create_text(340, 150, text='info', font='arial 17', tags='info')
self.canvas.tag_bind('info', '<Button-1>', self.window)
def window(self, event):
self.canvas.create_rectangle(40,40,310,220,fill='white')
x, y = 75,100
for i in range(1,9):
self.canvas.create_rectangle(x-30,y-30,x+30,y+30)
self.canvas.create_text(x,y,text='number ' + str(i), font='arial 9')
x += 65
if i == 4:
x = 75
y += 70
self.rec = self.canvas.create_rectangle(310,40,290,60, fill="red", tags="cancel")
self.line = self.canvas.create_line(310,40,290,60,310,60,290,40, tags="cancel")
self.canvas.tag_bind('cancel', '<Button-1>', self.close)
def close(self,event):
#?
print('should close this part of screen')
d = Desktop()
答案 0 :(得分:0)
我在代码中使用的是:
\\s*
这可能是一个非常漫长的方式,但它每次都适合我。
编辑:现在考虑一下,根据你打开一个新框架的方式,def quit(self):
root.destroy()
self.quit()
就像我一样。