Я новичок ie в tkinter и знаю, что иногда делаю: D. Я создал сценарий python, чтобы получить статистику вируса короны из сообщения GitHub ссылка В сценарии более 20 файлов, поэтому я подумал, что мне нужно просто создать один файл для запуска всех других файлов. Итак, какой еще способ сделать это лучше, чем создание пользовательского интерфейса. И вот что я сделал, я использовал tkinter для запуска всех файлов. Если бы они нажали кнопку x, я бы запустил ab c. В итоге я запустил эти файлы, импортировав их в определенном порядке (не знаю, был ли это лучший способ). Итак, вот где я столкнулся с ошибкой. Я точно не знаю, связана ли эта ошибка с тем, как я импортировал свои файлы, или мой код tkinter просто неправильный. Я просто не мог дважды нажать на кнопку. Я запускал свою программу и нажимал кнопку, она работала правильно, а затем в следующий раз, когда я нажимал на ту же кнопку, она просто не работала. Не было ни ошибки, ни вывода. Ничего не случится. Вот мой код:
#Import tkinter
import tkinter as tk
from tkinter import *
from tkinter import simpledialog
tk = tk.Tk()
Max = 190
def RunDeaths():
#If they click on RunDeaths I will run this function
#Check if they have already entered a path
try:
open('/Users/test/Documents/python/Py_Programs/Hackathon/DeathStats/Info.txt','r')
from DeathStats import RunAll
except:
YourPath = simpledialog.askstring('Countries','''Please Enter Your Path To HACKATHON Folder:
Example:
\"/Users/Name/Documents/python/\"
Note: Leave out the HACKATHON folder and you must put a slash at the end''',parent=tk)
#Write this path to a file call Info.txt
file = open('/Users/test/Documents/python/Py_Programs/Hackathon/DeathStats/Info.txt','w')
file.write(str(YourPath)+'\n')
file.write(str(Max))
file.close()
#Run all the files that gather the data for Corona Virus Deaths
from DeathStats import RunAll
def RunRecoveredCases():
#If they click on RecoveredCases Run this
#Check If they had already entered a path
try:
open('/Users/test/Documents/python/Py_Programs/Hackathon/RecoveredCases/Info.txt','r')
from RecoveredCases import RunAll
except:
YourPath = simpledialog.askstring('Countries','''Please Enter Your Path To HACKATHON Folder:
Example:
\"/Users/Name/Documents/python/\"
Note: Leave out the HACKATHON folder and you must put a slash at the end''',parent=tk)
file = open('/Users/test/Documents/python/Py_Programs/Hackathon/RecoveredCases/Info.txt','w')
#Write there path to a file
file.write(str(YourPath)+'\n')
file.write(str(Max))
file.close()
#Run all the files that gather all the Recovered Cases
from RecoveredCases import RunAll
#* * Here is where I think I went wrong But Im not sure
Deaths = Button(tk,height = 20, width = 30, text='Run Deaths',command = RunDeaths,highlightbackground='#000000')
Recovered = Button(tk,height = 20, width = 30, text='Run Recovered Cases',command = RunRecoveredCases,highlightbackground='#000000')
Deaths.pack()
Recovered.pack()
tk.mainloop()
Итак, мой вопрос и проблема: почему я не могу нажать кнопку более двух раз? Это случалось со мной раньше, и я не мог это исправить. Любая помощь будет принята с благодарностью. (Если вы хотите запустить мою программу, потому что мое объяснение было недостаточно хорошим, вот репозиторий git хаба GitHub ) Спасибо