QPainterを使用してQtで簡単なアニメーションを作成しようとしていますが、現在はウィンドウで描画できましたが、同じことを定期的に描画する方法がわかりません。定期的にQPainterを使用した描画
は、ここに私の現在のコードです:
int main(int argc, char *argv[]){
QApplication a (argc, argv);
QLabel l;
Qpicture pi;
Qpainter p(&pi);
Qpen pen;
/*
Some ellipses and lines using p.drawLine and p.drawEllipse
*/
p.end();
l.setPicture(pi);
l.show();
return a.exec();
私はスレッドを作成しようとしましたが、私は、メインの外にはQApplicationを作成することはできませんし、私は私の画家、ラベル、画像やペンを与えることをしようとした場合彼らはプライベートなようスレッドは、それがコンパイルされません。
void PrintThread (QLabel * l, QPicture * pi, Qpainter * p, QPen * pen){
/*
print lines and ellipses
*/
}
int main(int argc, char *argv[]){
QApplication a (argc, argv);
QLabel l;
Qpicture pi;
Qpainter p(&pi);
Qpen pen;
std::thread doPaint (PrintThread, l, pi, p, pen);
doPaint.join();
はどのようにすべてのXミリ秒を使用してQPainterのもの(ライン/楕円)を描画するサンプルコードは次のようになりますか?
QTimerを使用して、タイマーが経過するたびにupdate関数を呼び出すことができます。 – dgrat