tkinter checkbutton другое изображение

Мне нужна контрольная кнопка tkinter, которая в основном имеет мои собственные изображения для включения и выключения, а не контрольную кнопку по умолчанию. Я искал в Интернете решение, но ничего не нашел. Я думаю, что это возможно со стилем ttk, но я не уверен, как

попытался изменить параметр selectimage в кнопке проверки, что абсолютно ничего не дало

изменить: включить индикатор на false, затем изменить изображение и выбрать изображение.


person jooshoi1    schedule 25.10.2019    source источник
comment
не кнопка по умолчанию: попробуйте indicatoron=False. Редактируйте свой вопрос и покажите свою попытку.   -  person stovfl    schedule 25.10.2019


Ответы (1)


Вам нужно установить опцию image для невыбранного состояния и опцию selectimage для выбранного состояния. Вам также необходимо установить indicatoron на False, чтобы tkinter не отображал индикатор по умолчанию.

Вот простой пример:

import tkinter as tk
root = tk.Tk()

on_image = tk.PhotoImage(width=48, height=24)
off_image = tk.PhotoImage(width=48, height=24)
on_image.put(("green",), to=(0, 0, 23,23))
off_image.put(("red",), to=(24, 0, 47, 23))

var1 = tk.IntVar(value=1)
var2 = tk.IntVar(value=0)
cb1 = tk.Checkbutton(root, image=off_image, selectimage=on_image, indicatoron=False,
                     onvalue=1, offvalue=0, variable=var1)
cb2 = tk.Checkbutton(root, image=off_image, selectimage=on_image, indicatoron=False,
                     onvalue=1, offvalue=0, variable=var2)

cb1.pack(padx=20, pady=10)
cb2.pack(padx=20, pady=10)

root.mainloop()

скриншот

person Bryan Oakley    schedule 25.10.2019