2013-11-15 3 views
0

Я использую 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 
+0

Извините, не работает для меня. – user1148257

+0

Я вставил «root.config (cursor =« wait ») перед тем, как подпрограмма занесена в периферию (get_config (a, b, c)), однако я обнаружил, что перед курсором столько задержки статус изменен, что процедура завершается до того, как курсор обновлен. Я запускаю Intel i-7 (2.2 ГГц), поэтому я не думаю, что это обязательно ограничение пропускной способности ЦП. Операция в конечном итоге изменяет курсор (if Я опускаю root.config (cursor = "") после процедуры, курсор действительно отображается в состоянии «занято», он просто не изменяется достаточно быстро, чтобы быть полезным – user1148257

ответ

0

Вы должны использовать root.config(cursor="wait"), чтобы изменить курсор на занятой курсор.

Смежные вопросы