Perchè questo:margini QGraphicsView fitInView
graphics_view->fitInView(scene->sceneRect(), Qt::KeepAspectRatio);
non funziona come previsto? Non si adatta correttamente la scena rect, mostrando margini attorno ad essa.
Perchè questo:margini QGraphicsView fitInView
graphics_view->fitInView(scene->sceneRect(), Qt::KeepAspectRatio);
non funziona come previsto? Non si adatta correttamente la scena rect, mostrando margini attorno ad essa.
Ho scoperto qual era il problema, è descritto in this question. La causa principale del problema è che non si dovrebbe chiamare fitInView prima che venga visualizzato il modulo.
in realtà dipende esattamente da cosa intendi con i margini, suppongo che, visto che hai anche posto la domanda, potrebbero essere stati questi enormi nella domanda che hai collegato. Indipendentemente da ciò, è possibile chiamare fitInView tutto ciò che si desidera prima che venga visualizzato il modulo. –
Dalla documentazione: -
rect deve essere all'interno della scena rect; in caso contrario, fitInView() non può garantire che l'intero rect sia visibile.
anche ...
rect sarà centrato nella vista se non si adatta perfettamente.
Infine
Se rect è vuoto, o se la finestra è troppo piccola, questa funzione farà nulla.
La causa è questa: https://bugreports.qt.io/browse/QTBUG-42331 - si prega di votare su qt bug tracker per aumentare la priorità.
In breve, fitInView ha margini codificati e questo può causare tutti i tipi di caos - il minimo dei quali è che ora si perdono alcuni pixel dell'area di visualizzazione e si potrebbe anche forzare il ridimensionamento non necessario.
È possibile risolvere il problema reimplementando fitInView, in base all'implementazione esistente ma rimuovendo i suoi ridicoli margini. Un esempio di ciò è disponibile qui in pitone, in base alla versione originale C++:
https://github.com/nevion/pyqimageview/blob/master/qimageview/widget.py#L276
si può risolvere il reimplementare il metodo fitInView originale, ma senza includere i margini. Controlla la mia soluzione C++ a: https://stackoverflow.com/a/42474510/6050364
Aggiungi un esempio di codice minimo e uno screenshot e come differisce da quello che ti aspetti. –