как убрать светло-серый цвет вокруг флажков виджетов ткинтера? - PullRequest
0 голосов
/ 10 февраля 2019

Недавно у меня возникла проблема, когда я пытался установить изображение на фоне моего приложения, я хочу отправить его в фоновом режиме, и у меня есть все записи и прочее.Весь текст будет вставлен в саму картинку, поэтому у меня нет проблем по этому вопросу.Дело в том, что я не могу просто установить CheckButton на изображение, потому что оно необходимо (мы должны проверить / снять галочку), поэтому я хотел бы сделать это без тени / контура (Проверьте изображение), вызванных высотой и шириной,Я хочу знать, есть ли способ отключить ширину и высоту или даже установить его на 0, но это невозможно.

Я пытался установить высоту / ширину на 0 и некоторые другие атрибуты, но мне ничего не помогло

Checkbutton1 = Checkbutton(scanallnet, variable=check_var, command=toogle_active, bg="lightgray", activebackground="lightgray", width=0, height=0)

Лучше всего будет невидимый фон, но это трудно сделать (или если у вас есть какие-либо другие идеи).Но я предпочитаю устанавливать контур невидимым или не существующим.

Ответы [ 2 ]

0 голосов
/ 14 февраля 2019

После многих попыток и неудач я решил воссоздать Checkbutton со свойством indicatoron=0, чтобы сделать простую кнопку, которая остается нажатой при нажатии.Затем я добавил растровое изображение с галочкой «✓» внутри, и вот результат.

R

Спасибо за ваши советы, но этот результат отлично сочетается счто я хотел.

0 голосов
/ 10 февраля 2019

Два компонента, которые влияют на края: граница (атрибут borderwidth) и кольцо выделения (атрибут highlightthickness).

Если ширина границы равна нулю, а толщина выделения равнаноль, координаты виджеты начнутся с 0,0.

Это будет работать

import tkinter
win = tkinter.Tk()
Checkbutton1 = Checkbutton(win,highlightthickness=0,bd=0).pack()
win.mainloop()

enter image description here

Удалите все это из вашего кода: bg = "lightgray", activebackground = "lightgray", ширина = 0, высота = 0

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...