2013-05-12 14 views
8

Ho un modulo QT che ha letteralmente centinaia di widget e per renderli tutti in forma sullo schermo contemporaneamente (come richiesto) Ho bisogno di renderli piuttosto piccoli. Il modulo avrà una dimensione fissa (non ridimensionabile) quando utilizzato. Posso ridimensionare i widget all'altezza/larghezza desiderata e usare la dimensione del carattere (piccola) appropriata, rendere la loro politica delle dimensioni "corretta" ecc. Tuttavia, non appena inizio a inserirli nei layout, essi vanno ad un minimo molto più grande dimensione. Questo è particolarmente vero per l'altezza dei widget, ma a volte anche la larghezza è influenzata.Correggere le dimensioni dei widget nei layout di progettazione QT

Il mio problema sarebbe risolto se sapessi come fare uno dei seguenti tre cose:

  1. Modifica dimensione minima predefinita di un layout (s) per i widget.

  2. Forza un layout per non modificare le dimensioni dei widget.

  3. Utilizzare la progettazione Qt per allineare facilmente i widget in formati simili a griglia senza utilizzare i layout.

Ho cercato in modo estensivo i documenti di Qt designer e SO, senza successo.

aiuto è molto apprezzato

risposta

5

utilizzare layout con QWidget::setFixedSize in codice (o alternativa è possibile impostare i criteri di dimensione fissa di ogni oggetto di design) oppure è possibile utilizzare QLayout::setSizeConstraint

+2

avevo cercato di impostare i widget 'criterio di dimensione a "risolto" (vedi domanda). Ma non funziona. Non appena applico un layout in Qt Designer, i widget crescono. Tuttavia, in seguito ho scoperto che l'impostazione del minimo e delle dimensioni massime del widget (oltre alla loro politica sulle dimensioni) sembra funzionare. Grazie per avermi spinto a provare più difficile ;-) – stefano

+0

non ho usato tanti widget di dimensioni fisse, ma se ricordo che non dovrebbero crescere (dimensione impostata nel parametro size o sizehint per QLayout setter) così fisso la dimensione dovrebbe essere sufficiente, ma se il layout in cui sono inseriti può far crescere lo spazio tra i widget, così sei sicuro di non aver osservato quel comportamento (prova con i widget che hanno margini osservabili) o hai alcuni widget personalizzati? In ogni caso, vedi se riesci a replicare il problema (crea un'app di prova in modo da non rovinare la tua app) e magari pubblicarlo qui in modo che possiamo dare un'occhiata. Ad ogni modo, sono contento che il mio commento abbia aiutato un po '. – Zlatomir

+0

@stefano Per me è stato sufficiente impostare minimumSize e la dimensione massima all'interno di qtcreator per il QWidget appropriato (che può essere un pulsante o qualsiasi altra cosa). L'impostazione dei vincoli non era necessaria – Anonymous

Problemi correlati