gpt4 book ai didi

c++ - QDeclarativeImageProvider 不在容器中加载图像

转载 作者:行者123 更新时间:2023-11-28 08:21:07 24 4
gpt4 key购买 nike

Image {
id: backImage
source: "image://imageprovider/frontimage"
}

工作正常,但不适用于 Column 或其他容器

Column {

Image {
id: backImage
source: "image://imageprovider/frontimage"
}
}

鉴于

Column {

Image {
id: backImage
source: "screen1.png"
}
}

好的。为什么?

声明:

class QMLImageProvider : public QObject, public QDeclarativeImageProvider
{
Q_OBJECT
private:
QPixmap front;
QPixmap back;

public:
explicit QMLImageProvider();
QPixmap requestPixmap(const QString &id, QSize *size, const QSize &requestedSize);
};

实现:

QMLImageProvider::QMLImageProvider() : QObject(0),
QDeclarativeImageProvider(QDeclarativeImageProvider::Pixmap) {}

QPixmap QMLImageProvider::requestPixmap(const QString &id, QSize *size, const QSize &requestedSize) {
return QPixmap(QString("QML/screen1.png"));
}

注册:

screenArea = new QDeclarativeView(wgScreenArea);
qmlImageProvider = new QMLImageProvider();
screenArea->engine()->addImageProvider(GlobalVars::imageProviderID, qmlImageProvider);

screenArea->setSource(QUrl::fromLocalFile("QML/screen.qml"));
screenArea->setResizeMode(QDeclarativeView::SizeRootObjectToView);

附言对不起我的英语。

~已解决~

Column {
id:screenImage
Image {
id: backImage
width: screenImage.width
height: screenImage.height
source: "image://imageprovider/backimage"
}
}

有效!非常感谢!

最佳答案

可能是 Image 使用 ImageProvider 没有正确声明它的宽度和高度? Column 对于未声明其宽度和高度的项目来说有点滑稽。尝试在第二个示例的 Image 中对 widthheight 进行硬编码,它应该可以工作。

关于c++ - QDeclarativeImageProvider 不在容器中加载图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5814021/

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