基本上我想做的是为列表中的每个数字绘制矩形。数字越大,矩形越大。我的问题是当我真正想做的时候,一步一步地,在每张画之间等待几秒钟。我已经寻找了一些解决方案,但我无法让它们适用于这种特殊情况。我看到我可以使用 fflush 来释放缓冲区中的任何内容,但我不知道如何使用它。
QPainter painter(this);
painter.setRenderHint(QPainter::Antialiasing, true);
painter.setBrush(QBrush(Qt::green, Qt::SolidPattern));
int weight=300/lista.size;
int posx=weight;
for (int i=1; i<=lista.size; i++){
List_node * node = list.get_element_at(i);
int num=node->getValue(); //this returns the value of the node
if (i==3){
painter.setBrush(QBrush(Qt::red, Qt::SolidPattern)); // this line is to draw a rectangle with a different color. Testing purposes.
}
painter.drawRect(posx,400-(num*10),weight,num*10);
sleep(1); //this sleep isn't working correctly.
painter.setBrush(QBrush(Qt::green, Qt::SolidPattern));
posx+=weight;
}
任何帮助将非常感激。