Tkinter text-widget вставка изображений - PullRequest
0 голосов
/ 19 октября 2019

Я сделал текстовый виджет для написания вопросов. Я хочу вставить изображения, когда нажата кнопка добавления изображения. Как я могу это сделать? Когда я выбираю другое изображение, первое удаляется. Прямо сейчас я могу добавить одно изображение с помощью кода:

import tkinter as tk
root = tk.Tk()
root.geometry('800x520+0+0')
global img
img = tk.PhotoImage(file="quiz.gif")
def add_img():
    T.image_create(tk.INSERT, image=img)
tk.Button(root, text="Add Image", font=('Verdana',8), 
command=add_img).place(x=690, y=0)
T = tk.Text(root, width=65, height=17, padx=10, pady=10, font=('Verdana', 
14), wrap='word')
T.place(x=0, y=0)
root.mainloop()

Я хочу добавить разные изображения при выборе с помощью tk-listbox.

Спасибо за помощь.

1 Ответ

0 голосов
/ 19 октября 2019

Я использовал словарь для решения проблемы.

import tkinter as tk, glob
root = tk.Tk()
root.geometry('800x520+0+0')
Images = {}
for infile in glob.glob('*.gif'):
    img = infile[:-4]
    if img not in Images:
        Images[img] = tk.PhotoImage(file=infile)
def add_img():
    global listbox
    listbox = tk.Listbox(root, font=('Verdana',9), width=12)
    listbox.place(x=60,y=2)
    for infile in glob.glob('*.gif'):
        listbox.insert(tk.END, infile[:-4])
    listbox.bind('<<ListboxSelect>>',CurSelet)
def CurSelet(event):
    fn = listbox.get(tk.ANCHOR)
    listbox.destroy()
    T.image_create(tk.INSERT, image=Images[fn])
tk.Button(root, text="Add Image", font=('Verdana',8), 
command=add_img).place(x=690,y=0)
T = tk.Text(root, width=65, height=17, padx=10, pady=10, font=('Verdana', 
14), wrap='word')
T.place(x=0, y=50)
root.mainloop()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...