Настроить виджеты tkinter / ttk с прозрачным фоном, цветами фона рамки ttk? - PullRequest
8 голосов
/ 25 октября 2010

Можно ли настроить виджеты tkinter или ttk (Label, Entry, Text) с прозрачным фоном, чтобы их можно было помещать в контейнеры с пользовательскими цветами фона или поверх графических изображений или изображений на холсте?

Я также ищу способ изменить цвет фона виджета кадра ttk?

Нужно ли использовать новые объекты стиля ttk для достижения вышеизложенного?(Я новичок в tkinter / ttk и все еще пытаюсь обдумать, как это делать).

1 Ответ

3 голосов
/ 07 января 2011

За исключением в OSX, то, что вы хотите, не может быть сделано, потому что все эти виджеты нарисованы на реальных окнах, которые являются прямоугольными (если вы не используете некоторые низкоуровневые трюки, чтобы вырезать отверстия в соответствующем окне; не подход, который я рекомендую, хотя у меня есть код - для Tcl / Tk, а не Python / Tkinter - по общему признанию - который делает это).Исключением является OSX, потому что там (в основном) виджеты не рисуются в реальных окнах, а используют более легкую систему (потому что именно так работает OSX).

Вы можете настроитьвиджеты имеют меньшую границу, чем обычно, что нормально, если вы используете стиль, который сохраняет их в основном квадратными.Или, если вы используете холст для своей «интересной» поверхности, вы можете создавать на холсте вещи, похожие на кнопки, что может быть лучше для того, что вы на самом деле делаете.

Чтобы изменить цвет фонафрейм Ttk, вам придется применить к нему стиль.Лучшие инструкции по созданию стиля, которые я видел до сих пор, содержатся в руководстве по стилю tkdocs , в котором I идут, когда я хочу посмотреть, как это сделать.(Да, документация по Ttk должна охватывать это сама, но это пока не так.)

...