проблема с ipython: графический интерфейс Tkinter не открывается - PullRequest
0 голосов
/ 13 октября 2019

Я попытался реализовать следующий код, который должен использоваться для получения пути к файлу файла, используя графический интерфейс tkinter:

from tkinter import filedialog
from tkinter import *

root = Tk()
root.filename =  filedialog.askopenfilename(initialdir = "/",title = "Select file",filetypes = (("jpeg files","*.jpg"),("all files","*.*")))
print (root.filename)

... программа работает, ошибок нет, нотакже нет окна tkinter для выбора файла. :( Любая помощь для решения этой проблемы будет принята с благодарностью.


Я получил код от: https://pythonspot.com/tk-file-dialogs/

Моя операционная система: Windows 10

IЯ использую Spider от Anaconda для запуска кода.


РЕДАКТИРОВАТЬ:

Если я изменю настройку системы на , выполните на внешнем системном терминале это работает:

enter image description here

Кто-нибудь знает, почему он не работает в терминале ipython? (IPython 6.4.0)


РЕДАКТИРОВАТЬ 2:

Также изменение настроек на выполнить в выделенной консоли работает:

enter image description here

1 Ответ

1 голос
/ 13 октября 2019

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

Это означает, что если вы создадите все виджеты, которые должны запускаться в вашем окне, и вы не вызовете .mainloop(), ваш код будет запущен, но окно не появится, так как для начала нет mainloop()корневая Tk петля.

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