хорошо это странно Python - PullRequest
       87

хорошо это странно Python

0 голосов
/ 07 августа 2020

так хорошо, я просто использовал TKInter, когда получил эту ошибку NameError name 'runApps' не определено

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

root = tk.Tk()
apps = []
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)




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

 frame = tk.Frame(root, bg="green")
frame.place(relwidth=0.4, relheight=0.4, relx=0.3, rely=0.25)

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

 openFile.pack()

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

 runApps.pack()

 root.mainloop()

хорошо, если кто-нибудь знает, как это исправить, оставьте комментарий или ответьте в этом разделе для этого сообщения только для ShanyeLoyd вот пост, который вы хотели ShanyeLoyd

1 Ответ

2 голосов
/ 07 августа 2020

Если вы исправите отступы в своем коде, он заработает.

Согласно официальной документации :

Начальные пробелы (пробелы и табуляции) в начало логической строки используется для вычисления уровня отступа строки, который, в свою очередь, используется для определения группировки операторов.

Правильный форматированный код:

import tkinter as tk
from tkinter import filedialog
import os

root = tk.Tk()
apps = []


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)


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

frame = tk.Frame(root, bg="green")
frame.place(relwidth=0.4, relheight=0.4, relx=0.3, rely=0.25)

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

openFile.pack()

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

runApps.pack()

root.mainloop()

GUI:

GUI

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...