2010-12-22 17 views
6

Soy capaz de personalizar los controles de una aplicación Qt en una hoja de estilo Qt. Sin embargo, no pude encontrar una manera de personalizar la barra de título. Encontré algunas soluciones pero eso requiere modificar el código de la aplicación en sí. ¿Hay alguna forma de personalizarlo usando solo la hoja de estilos de Qt?¿Cómo personalizar la barra de título de una aplicación Qt a través de la hoja de estilo Qt?

+1

Puede hacer una ventana sin marco y construir una barra de título por su cuenta. Agregar un widget que maneje el movimiento no es difícil y el resto es solo una etiqueta y un par de botones. – Clearer

Respuesta

7

Title bar no es parte de su aplicación o Qt y no se puede configurar con la hoja de estilos. La barra de título es proporcionada por Window manager. En algunos WMs no hay barra de título en absoluto. La mayoría de las WM admiten temas personalizables para la decoración de ventanas. Normalmente puede configurar su WM para mostrar una ventana específica con un tema específico.

En Qt, solo la barra de título de QDockWidget se puede configurar mediante stylesheet.

P.S. Algunas aplicaciones desactivan la decoración del administrador de ventanas y dibujan la barra de título en sí (ejemplo Chromium).

3

Qt no tiene control sobre la apariencia de la barra de título y el borde de una aplicación. Este es el dominio de Window Manager (WM) en uso. Qt puede pedirle al WM que lo apague o que solo muestre ciertos botones, pero eso es todo.

El procedimiento estándar para una barra de título personalizada es quitarlo, y luego crear y diseñar su propia toma en la barra de título en su lugar. Para cualquiera que esté mirando, tenga en cuenta que esto no es tan genial como cree que es. A algunas personas les gusta personalizar su barra de título, a la mayoría de la gente le gusta cuando su aplicación se combina con el resto de su entorno operativo (cosa que no sucederá cuando haya terminado con ella).

Respuesta breve: no hay forma de hacer esto en una aplicación existente utilizando hojas de estilos Qt sin cambiar el código fuente de la aplicación.

Cuestiones relacionadas