2012-06-22 13 views

Respuesta

2

Esto funciona para yo:

QPalette p = myCheckBox->palette(); 
p.setColor(QPalette::Active, QPalette::WindowText, green); 
myCheckBox->setPalette(p); 
0

ejecuté int o este problema usando varias versiones de Qt5 (5.2, 5.4). Para hacerlo con las hojas de estilo que tenía que utilizar las propiedades pseudo-Unidos: http://doc.qt.io/qt-4.8/stylesheet-reference.html#list-of-pseudo-states

Ejemplo:

myCheckbox->setStyleSheet("QCheckBox:unchecked{ color: red; }QCheckBox:checked{ color: red; }"); 

Ajuste ambos estados cambian los colores para mí. Parece que hay algunas rarezas como esta en la hoja de estilos y el sistema de paleta, así que mantén la vista abierta y prueba algunas cosas diferentes (por ejemplo, selectores, pseudo-estados, etc.)

1

Parece que para algunos widgets tienes que fuerza usando un "widget-engine" que no es del sistema. Para la casilla de verificación se puede hacer estableciendo bordes en ninguno. Así que el estilo de casilla se parece a:

QCheckBox { 
    border: none; 
    color: white; 
} 

comportamiento similar es requerido por otros widgets. Algunas propiedades de estilo no desactivan el aspecto nativo. Por ejemplo, QPushButton (http://doc.qt.io/qt-4.8/stylesheet-reference.html)

Cuestiones relacionadas