我找到了一个使 QImage 更亮的函数,并在我的 Qt 应用程序中使用。我想展示简单的“动画”,让按钮一步一步变亮,然后在用户单击它后一步一步回到初始状态。
这是我的代码:
void Widget::on_stopButton_clicked(){
player.stop();
for(int i = 0; i <= 50; ++i){
QImage* image = new QImage(":/Graphics/Graphics/StopButton.png");
changeBrightness(*image, i);
QPixmap* pixmap = new QPixmap(QPixmap::fromImage(*image));
ui->stopButton->setIcon(QIcon(*pixmap));
QThread::msleep(50);
}
}
它不像我预期的那样工作......我只看到最终效果,所以最后一次调用:changeBrightness(*image, 50);
似乎只有在函数结束后用户才能看到表单的变化,对吗?还有其他方法可以制作这样的“动画”吗?