Я использую Tkinter.askopenfilename, чтобы открыть файл, содержащий данные входа в систему для периферийного устройства. Мой код берет эти данные, а затем регистрируется на этом устройстве, перемещается через CLI и загружает конфигурационное изображение из периферии.Tkinter. Как отображать часы/песочные часы с помощью askopenfilename
Этот процесс может занять 10-15 секунд, и я хотел бы изменить статус курсора в течение этого периода. Я обнаружил, что если я попытаюсь открыть новое окно, чтобы показать сообщение о ходе работы, загрузка завершится до отображения диалогового окна.
Пример фрагмент кода:
filename = askopenfilename(parent=root,filetypes=[("Configured Devices",".cfg")])
if len(filename) == 0:
return
file_list = open(filename,'r')
for line in file_list:
line=line.strip()
line=line.split(",")
ip=line[0]
username = line[1]
password = line[2]
break
file_list.close()
get_config(ip,username,password) #This logs in and extracts the configuration
Извините, не работает для меня. – user1148257
Я вставил «root.config (cursor =« wait ») перед тем, как подпрограмма занесена в периферию (get_config (a, b, c)), однако я обнаружил, что перед курсором столько задержки статус изменен, что процедура завершается до того, как курсор обновлен. Я запускаю Intel i-7 (2.2 ГГц), поэтому я не думаю, что это обязательно ограничение пропускной способности ЦП. Операция в конечном итоге изменяет курсор (if Я опускаю root.config (cursor = "") после процедуры, курсор действительно отображается в состоянии «занято», он просто не изменяется достаточно быстро, чтобы быть полезным – user1148257