QImage를 밝게 만들고 내 Qt 응용 프로그램에서 사용하는 기능을 발견했습니다. 버튼을 단계적으로 밝게하는 간단한 "애니메이션"을 보여주고, 사용자가 클릭 한 후 다시 단계적으로 초기 상태로 돌아가고 싶습니다. 여기QPushButton 아이콘의 유창한 밝기 변경
내 코드 : 나는 예상대로
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 (* 이미지, 50);
사용자가 함수가 끝난 후에 만 양식에서 변경 사항을 볼 수있는 것 같습니다. 맞습니까? "애니메이션"을 만드는 다른 방법이 있습니까?
new 연산자로'QImage'와'QPixmap'을 생성 할 필요가 없습니다. 스택에 인스턴스를 만들 수 있습니다. 둘 다 COW를 지원합니다. –
내가 바꿀거야, 너! – WJuz