Il mar 25 gen 2022, 00:11 Giuliano Curti <giulian...@gmail.com> ha scritto:
> Il lun 24 gen 2022, 20:05 Daniele Zambelli <daniele.zambe...@gmail.com> > ha scritto: > >> ......... >> > Eccomi alle prese con il mio esperimento di allestire un sistema grafico interattivo minimale con pyQt. L'intento è di risparmiare ad altri le fatiche dell'approccio e magari cogliere qualche consiglio dai piu esperti. Forma breve per gli impazienti: il meccanismo signal-slot di cui abbiamo parlato recentemente è attivo di default; se si ha una funzione def keyPressEvent(e) o def mousePressEvent(e), queste vengono chiamate automaticamente alla pressione del tasto o alla pressione del bottone del mouse a patto che la graphicView abbia ricevuto il focus (pressione del mouse all'interno). Forma più completa per i pazienti: (Daniele, ho visto che anche con pygraph che mi hai suggerito la curva di apprendimento è abbastanza impervia per cui ho deciso di aggredire la montagna; l'eventuale fieno in cascina può essere utile anche dopo e magari il riesame da posizione più consapevole può essere più produttivo; in ogni caso grazie). Intanto velocemente il contesto: interfaccia grafica generata con Qt-Designer e convertita in codice python attraverso l'utility pyuic5 (prima o poi proverò anche il modulo esterno per la lettura diretta del file *.ui, ma al momento debito). All'interno della finestra principale ho definito il widget QGraphicsView. Nel mio applicativo definisco una istanza della classe QGraphicsScene e la collego alla view. Alcune banali prove di disegno (ellisi, linee e testo immessi nella scena vengono visualizzati); devo capire se esiste una mappatura window-viewport e come funziona (primo problema aperto). Per quanto riguarda i signal della tastiera e del mouse ho già detto. Nel caso dei tasti è facile intercettare quello pigiato; devo provare a decodificare il pulsante destro o sinistro del mouse premuto (secondo problema) e soprattutto a lavorare con le coordinate perché quelle fornite sono in coordinate video; c'è una serie di funzioni, fra cui mapToScene, ma non riesco ancora a capire come funziona (terzo problema). Non riesco invece ad intercettare la rotella del mouse; la funzione def mouseWheelEvent(e), pur presente, non viene attivata toccando e/o premendo la rotella (quarto problema). Devo anche capire come funziona la selezione degli item, in particolare le due funzioni apposite items(x,y) e itemAt(x,y) (quinto e ultimo problema per oggi). Per il momento è tutto, molto poco, ma per me tanto perché temevo difficoltà maggiori, e tanti problemi da risolvere, ma con la calma.... Nel prosieguo esporrò soluzioni e problemi nuovi, sempre non contrasti con la policy della lista o la banalità degli argomenti non disturbi qualcuno. Saluti, giuliano
_______________________________________________ Python mailing list Python@lists.python.it https://lists.python.it/mailman/listinfo/python