#python #tkinter
Вопрос:
Я не могу выбрать несколько файлов с помощью tkinter askopenfilenames
в Linux. Я могу выбрать несколько файлов в Windows, но не в Linux.
path = list(askopenfilenames(filetypes=('Images','*.jpg *.jpeg *.png')))
Комментарии:
1. Я уже импортировал его из filedialog:
from tkinter.filedialog import askopenfilenames
2. в python3 он уже возвращает список, нет необходимости добавлять конструктор списка
3. Обратная связь? Сообщение об ошибке?
4. Никакой обратной связи или ошибки. Я могу выбрать только один файл
5. @Mayank Я использовал строку кода, которую вы предоставили здесь, как есть, вместе с простой функцией обратного вызова и кнопкой на Windows. Когда я нажимаю кнопку, чтобы открыть диалоговое окно файла, я получаю сообщение об ошибке:
_tkinter.TclError: bad file type "Images", should be "typeName {extension ?extensions ...?} ?{macType ?macTypes ...?}?"
. Если я обновлю строку следующим образом:path = list(askopenfilenames(filetypes=[('Images','*.jpg *.jpeg *.png')]))
все работает. Покажите свой рабочий код здесь, покажите, как именно вы используете диалоговое окно файла.
Ответ №1:
Следующий код позволит вам выбрать несколько файлов. Вам нужно удерживать управление или переключать, когда вы выбираете каждый файл
import tkinter as tk
from tkinter import filedialog
root = tk.Tk()
root.withdraw()
path = list(filedialog.askopenfilenames(filetypes=[('Images','*.jpg *.jpeg *.png')]))
print(path)
Комментарии:
1. Пришлось задержать смену. Извините, я немного новичок в Linux.