¿Cómo controlar el resaltado de selección de tkinter combobox?

Escribí un pequeño convertidor Farad para aprender la progtwigción de GUI. Funciona muy bien, se ve bien. El único problema es que parece que no puedo averiguar cómo controlar este extraño resaltado que aparece en mis selecciones ttk.Combobox . ttk.Style() un ttk.Style() , pero solo cambió los colores del fondo de ttk.Combobox , entradas, etc. También intenté cambiar los temas de openbox/gtk .

lo que el faradio

Estoy hablando de lo que se ve allí en el texto “microfarads (uF)”.

Estaría bien, si resaltara el cuadro completo; Pero preferiría que me lo hubiera ido por completo.

¿Cómo puedo manipular la selección de un ttk.Combobox ?

 # what the farad? # thomas kirkpatrick (jtkiv) from tkinter import * from tkinter import ttk # ze la programma. def conversion(*args): # this is the numerical value inV = float(inValue.get()) # these two are the unit (farads, microfarads, etc.) values inU = inUnitsValue.current() outU = outUnitsValue.current() # "mltplr" is multiplied times inValue (inV) if inU == outU: mltplr = 1 else: mltplr = 10**((outU - inU)*3) outValue.set(inV*mltplr) # start of GUI code root = Tk() root.title("What the Farad?") # frame mainFrame = ttk.Frame(root, width="364", padding="4 4 8 8") mainFrame.grid(column=0, row=0) # input entry inValue = StringVar() inValueEntry = ttk.Entry(mainFrame, width="20", justify="right", textvariable=inValue) inValueEntry.grid(column=1, row=1, sticky="W") # input unit combobox inUnitsValue = ttk.Combobox(mainFrame) inUnitsValue['values'] = ('kilofarads (kF)', 'farads (F)', 'millifarads (mF)', 'microfarads (uF)', 'nanofarads (nF)', 'picofarads (pF)') inUnitsValue.grid(column=2, row=1, sticky="e") inUnitsValue.state(['readonly']) inUnitsValue.bind('<>', conversion) # result label outValue = StringVar() resultLabel = ttk.Label(mainFrame, textvariable=outValue) resultLabel.grid(column=1, row=2, sticky="e") # output unit combobox outUnitsValue = ttk.Combobox(mainFrame) outUnitsValue['values'] = ('kilofarads (kF)', 'farads (F)', 'millifarads (mF)', 'microfarads (uF)', 'nanofarads (nF)', 'picofarads (pF)') outUnitsValue.grid(column=2, row=2, sticky="e") outUnitsValue.state(['readonly']) outUnitsValue.bind('<>', conversion) # padding for widgets for child in mainFrame.winfo_children(): child.grid_configure(padx=4, pady=4) # focus inValueEntry.focus() # bind keys to convert (auto-update, no button) root.bind('', conversion) root.mainloop() 

Puede utilizar el método selection_clear() Combobox para borrar la selección cuando lo desee. p.ej

 inUnitsValue.selection_clear() 

¿Podría ser que con un cuadro combinado de solo lectura el problema no sea la selección sino el indicador de enfoque relativamente fuerte?

Con este entorno de trabajo, pierde la capacidad de controlar su progtwig mediante el teclado. Para hacerlo bien, tendría que cambiar el estilo del resaltado de enfoque.

 from tkinter import * from ttk import * def defocus(event): event.widget.master.focus_set() root = Tk() comboBox = Combobox(root, state="readonly", values=("a", "b", "c")) comboBox.grid() comboBox.set("a") comboBox.bind("", defocus) mainloop()