2009-11-12 19 views
21

Necesito agrandar las pestañas que he orientado en la parte inferior de mi QTabWidget. Usaremos una pantalla táctil, por lo que los tamaños predeterminados son un poco demasiado pequeños.Qt Aumentar el tamaño de QTabBar de QTabWidget

No veo una manera fácil de hacerlo (actualmente no veo una buena manera de hacerlo) Los únicos métodos que pertenecen a QTabBar que veo en QTabWidget están protegidos, y no veo la necesidad de heredar de la clase que no sea para este propósito expreso).

Pregunta:

Lo que me gustaría hacer es simplemente establecer el QTabBar a un determinado tamaño específico. es posible?

Aparte de esto, lo único que se me ocurre es subclasificar QTabWidget y luego puedo controlar el tamaño de QTabBar extendiendo o redefiniendo las características de esta clase.

Gracias.

Respuesta

32

Si no desea subclase cosas, puede utilizar Qt stylesheets para configurar rápidamente la altura y la anchura de las pestañas, así:

// tabWidget is a pointer to a QTabWidget 
tabWidget->setStyleSheet("QTabBar::tab { height: 100px; width: 100px; }"); 
// each tab should now be 100x100px 

Tenga en cuenta que la hoja de estilo se refiere a QTabBar pesar de que estamos llamando a setStyleSheet() en QTabWidget.

+0

recomiendo el uso de hojas de estilo también. –

+0

esto funciona como un encanto en Linux ... pero no muestra ningún efecto en mac. ¿Alguna idea de por qué? – Shachi

5

Si su uso de Qt Designer se puede simplemente poner QTabBar::tab { height: 100px; width: 100px; } en la propiedad de estilo del QTabWidget objet directamente

Cuestiones relacionadas