Conversation
|
Al momento non riesco a testare queste modifiche, caricando un progetto non riesce a disegnare nessun nodo e creando un nuovo progetto e trascinando un nuovo nodo (es. concetto) esce fuori la seguente eccezione: Puoi verificare se a te da lo stesso problema? Io sto provando su Python 3.10, PyQt 5.15.7. |
|
A me non dava problemi, ho la stessa versione di PyQt però la versione di Python è 3.8. Ora ho provato a trasformare il float in int, funziona? |
|
Ah sì giusto, tempo fa quando ho introdotto il supporto a python 3.10 ho incontrato lo stesso problema. In sostanza a partire da 3.10 non c'è più il cast implicito da float a int, quindi va fatto esplicitamente. Per riferimento puoi vedere bc8d59b che è il commit che introduce il supporto a python 3.10. |
|
Ah ecco! Ora ho fatto una prova con la versione 3.10 e non mi dà problemi |
840e54c to
fa6beb3
Compare
|
Ho fatto il rebase e squash degli ultimi commit. Per riferimento credo sia meglio in futuro separare la funzionalità in una classe Label separata invece di lasciarla generale e filtrare in base al tipo di item genitore. Per ora lo integriamo così. Va risolto il problema della floating-point exception che esce fuori quando si cambia font all'intero diagramma e poi si può integrare. |
|
Non riesco a riprodurre l'errore che dà nei test però, perché in realtà cambiando il font del diagramma funziona tutto correttamente. A te dà qualche errore? |
|
L'errore esce fuori eseguendo i test, per riprodurlo localmente basta eseguire il test di cambio del font con il comando: $ pytest tests/test_diagram.py::TestDiagram::test_change_diagram_fontNeanche io riesco a riprodurlo durante una normale esecuzione, tuttavia vorrei capire a cosa sia dovuto. Da un primo test sembra che avvenga durante la seconda operazione di cambio del font del diagramma nel test, quando si fa EDIT: sono riuscito a riprodurre l'errore consistentemente durante la normale esecuzione. Per farlo apri un progetto e cambia la dimensione del font di un nodo (es. concetto) al valore massimo (40), poi chiudi senza salvare. A me crasha consistentemente python. EDIT 2: Il crash si riproduce sia su Linux che su macOS che su Windows. |
|
Sono riuscito a trovare la causa dell'eccezione e ho ristrutturato un pò la logica di wrap dei label, dovrebbe essere un pò più "stretto" il contenimento del label nel bounding box dell'item genitore. |
No description provided.