Python跳过了我的一个函数

2024-04-24 22:22:04 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用一个tkinter帧来调用另一个tkinter帧。因此,在第一帧中,我将单击一个按钮,它将检查C:\是否有一个文件,如果该文件不在那里,它应该调用Chrome_gui函数,它是"def p2(self)"处的另一个tkinter帧。调用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)

Tags: 文件函数textselftkinterdefguicolumn
1条回答
网友
1楼 · 发布于 2024-04-24 22:22:04

您的代码正在循环,因为您的条件if my_file1.is_file():总是false,所以它总是在else部分调用self.p2()。你知道吗

当你定义一个字符串并且你想放一个“\”时,你必须放一个“\”。在您的例子中,您有'\t',因此它将用表格代替它。替换为Path("C:\\test.pdf")

相关问题 更多 >