我正在开发一个Qt桌面应用程序,我希望有一个SVG作为背景。调整窗口大小时,UI中的小部件应该保持在相对于SVG坐标的位置。
我已经设法使用QUiLoader
加载SVG和UI,并将SVG设置为背景。
但是,当我调整窗口大小时,小部件不会保持它们相对于SVG背景的位置。
如何确保小部件和SVG一起缩放,并在调整窗口大小时保持它们的相对位置?
下面是我的代码片段:
QGraphicsSvgItem *svgItem = new QGraphicsSvgItem(":/vectorised-color2.svg");
scene->addItem(svgItem);
view->setScene(scene);
setCentralWidget(view);
QFile file(":/view.ui");
file.open(QFile::ReadOnly);
QUiLoader loader;
QWidget *widget = loader.load(&file, this);
// ... add widget to scene
widget->resize(svgBounds.width(), svgBounds.height());
1条答案
按热度按时间u5rb5r591#
通过
QUILoader
加载相同的.ui
文件就可以使用SVG缩放UI。我不知道为什么。如果您加载一个单独的.ui
文件,这似乎不起作用。备注: