2012-04-06 13 views

risposta

21

Risposta breve: impostare l'attributo exportselection di ogni casella di riepilogo a False

Tkinter ha le sue radici nel sistema a finestre X. X ha un concetto chiamato "selezione", che è simile agli appunti di sistema (in modo più accurato, la clipboard è la selezione "PRIMARY"). Per impostazione predefinita, molti dei widget di tkinter esportano la loro selezione come selezione PRIMARY. Un'applicazione può avere solo una selezione PRIMARY alla volta, motivo per cui l'evidenziazione scompare quando si fa clic tra due listbox.

Tkinter consente di controllare questo comportamento con l'opzione di configurazione exportselection per la casella di riepilogo (e i widget di testo e di immissione). Impostandolo su False si impedisce l'esportazione della selezione alla selezione X, consentendo al widget di mantenere la sua selezione quando un diverso widget viene messo a fuoco.

Ad esempio:

the_listbox = tk.Listbox(..., exportselection=False) 

Citando dalla official tk documentation:

exportselection Specifica se una selezione nel gadget dovrebbe essere anche la selezione X. Il valore può avere qualsiasi forma accettata da Tcl_GetBoolean, come true, false, 0, 1, yes o no. Se la selezione di viene esportata, quindi selezionando nel widget deseleziona la selezione corrente di X, selezionando all'esterno del widget deseleziona qualsiasi selezione di widget e il widget risponderà alle richieste di recupero di selezione quando ha una selezione. L'impostazione predefinita è in genere che i widget esportino le selezioni .

Problemi correlati