c++ - Qt:カスタムウィジェットの画像リソースを適切に保存する

c++ qt widget

Qtでカスタムウィジェットを作成し、その背景として画像を描画しています。背景画像は、ウィジェットのすべてのインスタンスでまったく同じにする必要があります。適切にやっているかどうか知りたいのですが。

これが私が今それをやっている方法です:

// QMyWidget.h
class QMyWidget : public QWidget
{
 /* some stuff.. and then: */
protected:
  static QImage *imgBackground;
}

// QMyWidget.cpp
QImage *QMyWidget::imgDial = NULL;

QMyWidget::QMyWidget(QWidget *parent) : QWidget(parent)
{
    if(imgBackground== NULL)
    {
        imgBackground= new QImage();
        imgBackground->load(":/Images/background.png");
    }
}

void QMyWidget::paintEvent(QPaintEvent *e)
{
    QPainter painter(this);
    painter.drawImage(QPoint(), *imgBackground);
}


コードは問題なく動作しますが、これはそれを行う良い方法と考えられていますか?
答え
これはそれを行う1つの方法であり、単一の画像のみを処理する場合はかなり良い方法ですが、2つ以上のカスタムリソースをスケーリングして使用する場合は、Qt Resource Systemがより良い方法です。コードの時間を節約できます(QImageを繰り返し実行する必要はありません)。また、リソース圧縮など、他にもいくつかの優れた機能があります。
関連記事

c++ - 現在のクラス階層から遠く離れたオブジェクトにアクセスするC++

c++ - GoogleのregexライブラリRE2 for C++の使用:リンクエラー

c++ - 解析ツリーを構築する方法は?

c++ - コマンドラインが_popenで開かないようにする

c++ - Webサービスが利用可能であることを確認する

c++ - SDL OpenGL C++の問題

c++ - SOAPエンベロープとデジタル署名を生成する

c++ - QSpinBoxに融合されたQComboBox

c++ - boost::mpl::for_eachを使用したタイプラッパーエラー(Abrahams&Gurtovoy本のセクション9.1.1)

c++ - カスタムAuthorsカテゴリーをGtk::AboutDialogクラスに追加する