2013-05-15 13 views
11

Sto provando a creare un modulo di accesso con Qt5.0.1. Ho creato 2 widget e ho inserito le mie etichette e le mie modifiche di riga in uno di essi e il mio pulsante nell'altro. Poi metto questi 2 widget in un QVBoxLayout, ma lo spazio tra due widget nel layout è più che uno scopo. Ho provato setSpacing e setContentsMargin ma non hanno funzionato per questo programma.Spazio tra i widget in QVBoxLayout

vhandle->setSpacing(0); 
vhandle->setMargin(0); 
vhandle->setContentsMargins(0,0,0,0); 
vhandle->addWidget(handle,0, Qt::AlignTop); 
vhandle->addWidget(handle2,0, Qt::AlignTop); 

ma nulla è cambiato nello spazio tra i due widget:

http://i.stack.imgur.com/R33MM.png

cosa devo fare?

risposta

11

Il problema non sono le impostazioni dei margini di QVboxLayout, ma le impostazioni dei margini del layout dei widget del contenitore e le impostazioni di spaziatura di QVBoxLayout. Hai già impostato la spaziatura su 0, questo dovrebbe andare bene. Inoltre, supposto che upperWidgetLayout è il layout del widget superiore e lowerWidgetLayout il layout del widget inferiore, provare

upperWidgetLayout->setContentsMargins(-1, -1, -1, 0); 
lowerWidgetLayout->setContentsMargin(-1, 0, -1, -1); 

Imposta il margine inferiore della disposizione del widget superiore e il margine superiore della disposizione del widget inferiore 0, in modo che non c'è spazio tra il contenuto dei due widget:

Dialog Layout

temporaneamente colorare i vari widget di solito è un buon approccio per rintracciare tali questioni. Puoi anche usare Qt Designer per progettare l'interfaccia utente e dare un'occhiata al codice sorgente che viene generato (o usare il file .ui direttamente nel tuo progetto).

Problemi correlati