Изменение поля поля со списком в PythonPython

Программы на Python
Ответить
Anonymous
 Изменение поля поля со списком в Python

Сообщение Anonymous »

Код: Выделить всё

import tkinter as tk
from tkinter import ttk

class ComboboxColorChanger:
def __init__(self, root):
self.root = root
self.root.title("Combobox Color Change")
self.root.geometry("300x150")

# Create a Combobox
self.combobox = ttk.Combobox(self.root, values=["", "Option 1", "Option 2", "Option 3"], state="readonly")
self.combobox.grid(pady=20, padx=50)

# Bind events to handle user actions
self.combobox.bind("", self.update_combobox_style)

# Initial style configuration
self.set_combobox_background(self.combobox)

def set_combobox_background(self, widget):
"""Set the background color of the Combobox based on its selection state."""
value = widget.get()
style = ttk.Style()

if value == "Option 1":  # Option 1 selected
style.configure("Red.TCombobox", fieldbackground="#ffcccc", background="#ffcccc")
widget.configure(style="Red.TCombobox")
elif value == "":  # No option selected
style.configure("CyanLight.TCombobox", fieldbackground="#e0ffff", background="#e0ffff")
widget.configure(style="CyanLight.TCombobox")
else:  # Other options selected
style.configure("Default.TCombobox", fieldbackground="white", background="white")
widget.configure(style="Default.TCombobox")

def update_combobox_style(self, event=None):
"""Update the style of the Combobox when selection changes."""
self.set_combobox_background(self.combobox)

# Main application runner
if __name__ == "__main__":
root = tk.Tk()
app = ComboboxColorChanger(root)
root.mainloop()
Может кто-нибудь объяснить, почему этот код для динамического изменения цвета фона поля со списком не работает? спасибо

Подробнее здесь: https://stackoverflow.com/questions/793 ... nge-python
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»