Как я могу отображать картинки в ttk.Combobox? - PullRequest
0 голосов
/ 26 октября 2019

Как я могу изменить шрифт для определенного элемента комбинированного списка и как показывать картинки вместе с текстом?

Я пытался гуглить в интернете, но ничего не нашел. Нигде нет ничего подобного функции добавления к событию DrawItem (как в C # winforms) или установке вашего средства визуализации (как в Java Swing)

# -*- coding: utf-8 -*-
from __future__ import unicode_literals, print_function, with_statement, \
    absolute_import, division, generators, nested_scopes
from future_builtins import ascii, hex, oct
import Tkinter as tk
import ttk as ttk


class App(tk.Tk):
    def __init__(self, *args, **kwargs):
        tk.Tk.__init__(self, *args, **kwargs)
        self.title("ComboBoxRendering")
        self.geometry("350x200")
        self.text_data = ["Первый", "Жирный", "Красный", "Выразительный"]
        self.bullet1 = tk.PhotoImage(file="Server16.gif")
        self.bullet2 = tk.PhotoImage(file="Host16.gif")
        self.icon_data = [(self.bullet1, "Основной Сервер"),
                          (self.bullet1,"Дополнительный"),
                          (self.bullet2,"Машина директора")]
        self.combo1 = ttk.Combobox(self, values=self.text_data)
        self.combo1.grid(row=0, column=0)
        self.combo2 = ttk.Combobox(self, values=self.icon_data)
        self.combo2.grid(row=0,column=1)


if __name__ == "__main__":
    app = App()
    app.mainloop()

Ожидаемый результат: https://imgur.com/a/ajN0PUb

...