Sto provando a cambiare il colore di evidenziazione per un gtk.EventBox
. Ha un certo colore di sfondo e voglio tracciare una linea attorno ad esso con il suo colore complementare. Ho trovato drag_highlight
, che disegna una linea attorno al widget, ma non ho capito come cambiare il colore: è sempre nero. Qualche idea?Colore Pygtk per drag_highlight
7
A
risposta
4
Per rendere la linea intorno alla EventBox
, è possibile metterlo in Frame
o in un altro EventBox
(in questo caso è possibile impostare la larghezza del "confine"), qui è come appare:
E qui è il codice (si tratta di un modified EventBox example):
#!/usr/bin/env python
# example eventbox.py
import pygtk
pygtk.require('2.0')
import gtk
class EventBoxExample:
def __init__(self):
window = gtk.Window(gtk.WINDOW_TOPLEVEL)
window.set_title("Event Box")
window.connect("destroy", lambda w: gtk.main_quit())
window.set_border_width(10)
# Create an EventBox and add it to our toplevel window
frame = gtk.EventBox() # gtk.Frame()
window.add(frame)
frame.show()
frame.set_border_width(2)
frame.modify_bg(gtk.STATE_NORMAL,
frame.get_colormap().alloc_color("blue"))
event_box = gtk.EventBox()
frame.add(event_box)
event_box.set_border_width(10)
event_box.show()
# Create a long label
label = gtk.Label("Click here to quit, quit, quit, quit, quit")
event_box.add(label)
label.show()
# Clip it short.
label.set_size_request(110, 20)
# And bind an action to it
event_box.set_events(gtk.gdk.BUTTON_PRESS_MASK)
event_box.connect("button_press_event", lambda w,e: gtk.main_quit())
# More things you need an X window for ...
event_box.realize()
event_box.window.set_cursor(gtk.gdk.Cursor(gtk.gdk.HAND1))
# Set background color to green
event_box.modify_bg(gtk.STATE_NORMAL,
event_box.get_colormap().alloc_color("green"))
window.show()
def main():
gtk.main()
return 0
if __name__ == "__main__":
EventBoxExample()
main()
+1
Funziona alla grande, ma non premierò ancora la taglia perché mi piacerebbe avere una risposta che non richieda un altro genitore per EventBox. Accetto la tua risposta per ora, così che non ho necessariamente bisogno di ricordarti di assegnarti la taglia alla sua scadenza. – zondo
Problemi correlati
- 1. pygtk cambia colore di sfondo del widget gtkHBox
- 2. pygtk + glade + localization
- 3. Errore di installazione PyGtk
- 4. Come lavorare con i thread in pygtk
- 5. Come impostare il pulsante predefinito in PyGTK?
- 6. pygtk: Determinare la chiave è un modificatore
- 7. Abilitare o disabilitare gtk.Button in PyGTK
- 8. BASE sequenza colore ANSI specifica per colore
- 9. Quali sono i vantaggi di PyQt su PyGTK e viceversa?
- 10. Come ottenere il valore dall'elemento selezionato in treeview in PyGTK?
- 11. PyGtk Come modificare i dati TreeView usando il filtro?
- 12. pygtk esecuzione di due finestre, popup e principale
- 13. Colore batch per riga
- 14. pheatmap: Colore per NA
- 15. Colore per Unicode Emoji
- 16. PyGTK o PyQT sono preferiti per creare app Python native di GTK?
- 17. colore del motivo sconosciuto per il colore di sfondo attributo
- 18. Ignora colore di ancoraggio per ereditare il colore predefinito
- 19. dichiarazione colore colore a 64 bit (16 bit per canale)
- 20. Colore del colore del collegamento per TTTAttribuito Etichetta
- 21. Nome colore tkinter a oggetto colore
- 22. Algoritmo per il calcolo del colore inverso
- 23. Funzione JS per calcolare il colore complementare?
- 24. Colore di sfondo per Tk in Python
- 25. Cambia colore tonalità della tastiera per UITextField
- 26. Colore di sfondo, blocco note ++ per l'evidenziazione
- 27. ChartJS - Colore diverso per punto dati
- 28. Colore testo condizionale per le righe DataGrid?
- 29. Colore bordo per Editor in Xamarin.Forms
- 30. Colore di sfondo per UISearchController in UITableView
probabilmente andando necessità di scrivere il proprio codice per questo. Nel doc per 'drag_highlight' menziona che si connette ai gestori' expose_event' e 'draw', quindi se fai lo stesso e aggiorna lo stile (o il bordo) quando accadono questi eventi. – B8vrede