es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Cómo cambiar el color de fondo del QGraphicsProxyWidget ya existente?

He formado una disposición de cuadrícula con QGraphicsProxyWidgets que son widgets Qlabel añadidos a una escena. Quiero actualizar el color de fondo de los widgets con un clic de botón.

¿Cómo puedo acceder al QLabel para poder cambiar el color de fondo? Intenté utilizar una paleta, pero causó que el programa se bloqueara.

void MainWindow::changeBackgroundOfButtons()
{

int itemCount = layout->count();

int numCols = 4;
int row = 0, col = 0;
for (int i = 0; i < itemCount; ++i)
{
QGraphicsProxyWidget currentWidget = dynamic_cast<qgraphicsproxywidget>(layout->itemAt(row, col));

QPalette p(palette());
p.setColor(QPalette::Base, Qt::lightGray);
currentWidget->setPalette(p);

col++;
if (col == numCols) row++;
col = col % numCols;

}

}</qgraphicsproxywidget*>

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Este código debería permitirle acceder al QLabel y cambiar el color de fondo. El código itera a través del diseño de cuadrícula y establece la paleta de cada QGraphicsProxyWidget en un color gris claro.

Comments are closed.