Почему в Tkinter после компиляции окно дублируется при нажатии на кнопку?

Как исправить проблему, при которой при нажатии кнопки "choose file" открывается exe-файл вместо выбора файла? Попытки удалить __name__==__main__ не привели к результату. Вот код: https://justpaste.it/b9vel
  • 15 декабря 2023 г. 18:16
Ответы на вопрос 1
Проблема с дублированием окна может возникнуть, если логика вашей программы вызывается несколько раз. Возможно, вы забыли удалить привязку к событию или вызываете функцию не только при нажатии на кнопку, но и в других местах кода.

Однако, исходя из вашего кода, я не вижу причин, по которым окно должно дублироваться. Возможно, у вас есть другой код, который вызывает создание дополнительного окна. 

Относительно проблемы с открытием exe-файла вместо выбора файла, может быть ошибка в следующей строке кода:

```python
filename = filedialog.askopenfilename(parent=root, initialdir='/', title='Choose a file')
```

Вместо этого, попробуйте использовать:

```python
filename = filedialog.askopenfilename(parent=root, initialdir='/', title='Choose a file', filetypes=[('All files','*.*')]) 
```

Определение filetypes поможет ограничить выбор только до файлов определенного типа (например, только текстовые файлы). Если вам нужны все файлы, вы можете использовать filetypes=[('All files','*.*')].
Похожие вопросы