Butonun işlevi butona basmadan gerçekleşiyor

def main(args):
    return 0

import tkinter as tk

window = tk.Tk()

increasingNumber = 0

fileName = f"newFile{increasingNumber}.txt"

def createFile():
    global increasingNumber
    f = open(fileName, "w")
    f.close()
    increasingNumber += 1


btn_newFile_txt = tk.Label(window, text="You can press the New File button to create a new file.")
btn_newFile_txt.pack()

btn_newFile = tk.Button(window, text="New File", command=createFile())
btn_newFile.pack()

window.mainloop()

Bu Python kodunu çalıştırınca butona basmadan dosya oluşturuyor ve butona basıldığında yeni dosya oluşturmuyor. Çözümü nedir ?

1 Beğeni

Burada fonksiyonun ismini vermeniz gerekiyor, yani parantezleri kaldırmalısınız.

command=createFile
3 Beğeni
def main(args):
    return 0

import tkinter as tk

window = tk.Tk()

increasingNumber = 0

fileName = f"newFile{increasingNumber}.txt"

def createFile():
    global increasingNumber
    f = open(fileName, "w")
    f.close()
    increasingNumber += 1


btn_newFile_txt = tk.Label(window, text="You can press the New File button to create a new file.")
btn_newFile_txt.pack()

btn_newFile = tk.Button(window, text="New File", command=createFile)
btn_newFile.pack()

Şöyle olacak. command parametresinin değeri fonksiyonun çağrımı değil, ismi olmalı. Yani parantezleri kaldırman gerekiyor.

3 Beğeni