2013-02-03 17 views

risposta

18

Sì, è possibile, ma non è così ovvio. Ecco un modo in cui mi sono inventato qualche tempo fa.

Ogni volta che è necessario uno spazio tra due schede, inserire una nuova scheda tra le schede e rendere disattivata la nuova scheda chiamando QTabWidget::setTabEnabled(int index, bool enable). In questo modo non sarà più possibile interagire con la nuova scheda (a meno che la scheda non sia l'unica presente). È inoltre necessario impostare il seguente foglio di stile sul vostro QTabWidget:

QTabBar::tab:disabled { 
    width: 100px; 
    color: transparent; 
    background: transparent; 
} 

Questo foglio di stile rende la nuova scheda invisibile (in realtà si fa tutte le schede con disabilità invisibile, quindi a meno che è OK, questo metodo non funziona per voi). È possibile regolare la larghezza dello spazio modificando il valore per width nel foglio di stile.

Il risultato:

QTabWidget with space between tabs

+4

Si dovrebbe ottenere 100 per questo hack! –