Как удалить напечатанный текст в Python Tkinter? - PullRequest
0 голосов
/ 01 мая 2020

В последнее время я работал над приложением, но, похоже, не могу найти, как одним нажатием кнопки удалить напечатанный текст в Python, используя интерфейс Tkinter. Я предоставил код ниже:

import tkinter as tk
from tkinter import filedialog, Text
import os

root = tk.Tk()

root.title("App Launcher")
root.iconbitmap('C:/Users/noahc/Documents/Programming/AppLauncher/icon.ico')
root.resizable(0,0)

apps = []

if os.path.isfile('save.txt'):
    with open('save.txt','r') as f:
        tempApps = f.read()
        tempApps = tempApps.split(',')
        apps = tempApps
        apps = [x for x in tempApps if x.strip()]


def addApp():

    for widget in frame.winfo_children():
        widget.destroy()

    filename = filedialog.askopenfilename(initialdir="/", title="Select File", filetypes=(("Executables","*.exe"), ("All Files", "*.*")))\

    apps.append(filename)
    print(filename)
    for app in apps:
        label = tk.Label(frame, text=app, bg="gray")
        label.pack()

def runApps():
    for app in apps:
        os.startfile(app)

def resetList():
    os.remove("save.txt")


canvas = tk.Canvas(root, height=700, width=700, bg="gray")
canvas.pack()

frame = tk.Frame(root, bg="white")
frame.place(relwidth=0.8, relheight=0.8, relx=0.1, rely=0.1)

openFile = tk.Button(root, text="Open File", padx=10, pady=5, fg="white", bg="#263D42", command=addApp)
openFile.pack()

runApps = tk.Button(root, text="Run Apps", padx=10, pady=5, fg="white", bg="#263D42", command=runApps)
runApps.pack()

resetList = tk.Button(root, text="Reset", padx=10, pady=5, fg="white", bg="#263D42", command=resetList)
resetList.pack()




for app in apps:
    label = tk.Label(frame, text=app)
    label.pack()

root.mainloop()


with open('save.txt', 'w') as f:
    for app in apps:
        f.write(app + ',')

Если кто-нибудь может подсказать мне способ удаления имени файла, который печатается, одним нажатием кнопки, я был бы чрезвычайно признателен

Спасибо, nozzypozzy

Ответы [ 2 ]

0 голосов
/ 01 мая 2020

Код, приведенный ниже, сработал:

def resetList():
os.remove("save.txt")

for widget in frame.winfo_children():
    widget.destroy()

Также я хотел бы поблагодарить всех, кто пытался помочь.

0 голосов
/ 01 мая 2020

попробуйте следующий код

text.delete(1.0,END)
...