A partir de Qt 5.2
no se puede; no han marcado 5.3
pero AFAIK no cambiaron nada en el QMdiArea/QMdiSubWindow
en la versión 5.3
.
La solución más fácil que tiene es usar QCommonStyle
y pintar la barra de título usando QPainter
. Para obtener más información sobre eso, consulte las documentaciones QCommonStyle y QStyle. Tenga en cuenta que se recomienda derivar QCommonStyle
y no QStyle
para su clase de estilo. QCommonStyle
hereda QStyle
por lo que no perderá nada.
Y si se quiere lograr efectos más complejos, como sombra en la ventana secundaria entonces la única opción que le queda aquí es para derivar QMdiSubWindow
y QMdiArea
, llame QWidget::setWindowFlags(Qt::FramelessWindowHintflag)
en la clase derivada QMdiSubWindow
e implementar desde cero su propio sub-ventana con tu propia barra de título. A continuación, puede definir su propio Q_PROPERTY
del tipo QColor
y acceder a los del QSS
como expuesto here para personalizar los colores de la barra de título desde QSS
.
Otra opción sería crear un nuevo widget de área MDI desde cero, pero no creo que esto sea aplicable en su caso. Si solo necesita personalizar la barra de título con un estilo personalizado, es el mejor enfoque que puede abordar. Si hay problemas, se pueden proporcionar ejemplos como edición de esta publicación.
Pero si quiere personalizar la estándar QMdiSubWindow
usando tan solo QSS
, lamentablemente no es posible por el momento.
Esto es un problema desde hace muchos años. ¿Hay alguna solución para el estilo de los niños con MDI? – cytrinox