gpt4 book ai didi

c++ - Qt:正确存储自定义小部件的图像资源

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:57:36 27 4
gpt4 key购买 nike

我正在 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);
}

代码工作得很好,但这被认为是一种好方法吗?

最佳答案

这是一种方法,如果您只处理单个图像,这是一种相当好的方法,但如果您决定缩放并使用几个自定义资源,那么 Qt Resource System是更好的方法。它将节省您的代码时间(不需要重复执行 QImage),并且具有其他一些不错的功能,例如资源压缩。

关于c++ - Qt:正确存储自定义小部件的图像资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7607362/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com