我有一个二叉树实现,我正在绘制qlabels,其上的数字代表树的节点。我想要做的是当我遍历树时,我想改变每个节点的背景颜色。但我在这份工作上失败了:/这是我的代码。请告诉我该做什么的线索。
void Node::ChangeColor()
{
QPalette pal;
pal.setColor( lbl->backgroundRole(), QColor(255,0,0) ); // change the color
lbl->setPalette(pal);
lbl->setAutoFillBackground(true);
lbl->update();
QThread::sleep(1);
pal.setColor( lbl->backgroundRole(), QColor(255,255,0) ); // change it back
lbl->setPalette(pal);
lbl->setAutoFillBackground(true);
lbl->update();
}
我也使用了样式表方法,但我无法使其工作:/
答案 0 :(得分:0)
void Node::ChangeColor()
{
QPalette pal;
pal.setColor( lbl->backgroundRole(), QColor(255,0,0) ); // change the color
lbl->setPalette(pal);
lbl->setAutoFillBackground(true);
lbl->repaint();
QThread::sleep(1);
pal.setColor( lbl->backgroundRole(), QColor(255,255,0) ); // change it back
lbl->setPalette(pal);
lbl->setAutoFillBackground(true);
lbl->repaint();
}
通过更改重新绘制标签方法的更新,我解决了问题。