0

最初はこのばかげた質問をお詫びしたいと思いますが、私はQtにかなり慣れていないので、許してください;)

描いてQPixmapsいます。QPixmapsしかし、パフォーマンスの問題については、一度だけロードして何度も使用したいと思います。現時点では、updateが呼び出されたときに常にロードしていますが、コンストラクターで1回だけロードできるはずです。.hこの場合、ファイルとQPixmap変数の宣言はどのように見えますか?今のところそれを理解できませんでした。

4

2 に答える 2

1

QtはC++ライブラリであるため、c++コードを記述するだけです。

ヘッダ:

class foo : public QWidget {
public:
    foo(QWidget *parent = 0);

private:
    QPixMap *bar;
};

ソース:

foo::foo(QWidget *parent) : QWidget(parent) {
    bar = new QPixMap("bar.png");
    // Some error checking...
}
于 2011-08-31T09:18:44.267 に答える
0

画像の読み込みを最適化する必要はないかもしれません。ファイル名パラメータをまたはのコンストラクタに渡して画像を読み込むとQPixmap、ここで説明するようQPixmap::loadに自動的にキャッシュさQPixmapCacheます

また、本当にクラスのメンバーとして保持したい場合はQPixmap、基本的に次の理由から、ポインタを使用しないでください。

  • そのリストQPixmapのすべてのQt「暗黙的に共有される型」のように、オブジェクトはすでにスマートポインタであり、
  • 生のポインタは無効である可能性があり、手動で削除する必要があるため、悪です。
于 2011-08-31T13:50:24.933 に答える