我使用tkinter
帧来调用另一个tkinter
帧。因此,从第一帧开始,我将点击一个按钮,它将检查C:\上是否有文件,如果该文件不存在,则应调用Chrome_gui
函数,该函数是tkinter
的另一个"def p2(self)"
帧{1}}。调用Chrome_gui
时,它将创建测试文件,并再次调用self.p2
以检查文件是否存在。但它将成为一个永无止境的循环,因为函数self.Chrome_gui
未被调用。当我删除self.p2
时,可以调用函数self.Chrome_gui
。那么有人能告诉我为什么它会跳过self.Chrome_gui
函数吗?
def __init__(self):
tk.Tk.__init__(self)
tk.Tk.title(self,"qwerty")
self.b1 = tk.Button(self, text="P2", command = self.p2)
self.b1.grid(row = 3, column = 1, sticky = 'EWNS' )
def p2 (self):
self.values()
print ('printdwo')
my_file1 = Path("C:\test.pdf")
if my_file1.is_file():
print ("File Found")
else:
print ('not found')
self.Chrome_gui()
self.p2()
def Chrome_gui(self):
self.chrome = tk.Tk()
self.chrome.title('Date')
self.label = tk.Label(self.chrome, text="", width=20)
self.label.grid(row = 1, column = 1)
self.c1 = tk.Button(self.chrome, text="Yes", command = self.yes)
self.c1.grid(row = 2, column = 1, sticky = W+E)#side = LEFT)
global e
e = ""
self.c2 = tk.Button(self.chrome, text = "No" , command = self.no)
self.c2.grid(row = 3, column = 1, sticky = W+E)#side = LEFT)
答案 0 :(得分:0)
您的代码正在循环,因为您的条件if my_file1.is_file():
始终为false,因此它始终在else部分中调用self.p2()
。
当你定义一个字符串而你想要放一个'\'时,你必须放'\'。在你的情况下,你有'\ t'所以它将替换为制表。将其替换为Path("C:\\test.pdf")