1

QDial のペイント イベントをオーバーライドし、イメージを表示して新しい外観にしています。ここで、現在の値に従って画像を回転させたいと思います。次のコードを使用して実行しています。

m_PixmapFound=m_Qpixmap.load(fileName);

if (m_PixmapFound)
{

            QMatrix rm;
            rm.rotate(value()*5);

            m_Qpixmap = m_Qpixmap.transformed(QPixmap::trueMatrix(rm,this->width(),this->height()));
            m_Qpixmap = m_Qpixmap.scaled(QSize(163,163),Qt::KeepAspectRatio,Qt::SmoothTransformation);

            QPainter  myPainter(&m_Qpixmap);
}

画像は回転しますが、異なるダイヤル値で異なるサイズにスケーリングされます。そのため、QDial I を回転させると、ダイヤルが伸びたり縮んだりします。

この問題を解決する方法を教えてください。

QDial の値ごとに画像を取得し、ノブの値に応じて画像を更新する方法がありますが、ノブの範囲が 0 ~ 1000 であるため、そうしたくありません。

ありがとう

4

1 に答える 1