【发布时间】:2016-05-09 11:18:01
【问题描述】:
我在QGraphicsSvgItem 之后创建了类继承并将其命名为MyObject。我希望为其分配一个图标,但同时我希望能够重新调整它,以便我可以使用一个图标来呈现不同的对象(例如,Door-Icon.svg 用于呈现小门和大门)。现在它有一个问题 - 没有选项可以从 *.svg 本身重新缩放图像。我尝试使用QPixmap,但它给了我像素化的图像。
class MyObject : public QGraphicsSvgItem
{
void assign_Icon(QString Path);
void rescale_Icon(QString Path);
int Widith;
int Height;
// ...
}
和功能:
void MyObject::assign_Icon(QString Path)
{
QSvgRenderer *renderer = new QSvgRenderer(Path);
this->setSharedRenderer(renderer);
Widith = this->renderer()->defaultSize().width();
Height = this->renderer()->defaultSize().height();
}
仅以基本尺寸呈现*.svg 效果很好,但我无法找到“如何”将*.svg 图标调整为对象当前宽度和高度。
void MyObject::rescale_Icon(QString Path)
{
QSvgRenderer *renderer = new QSvgRenderer(Path);
this->setSharedRenderer(renderer);
// But what to do here?
}
【问题讨论】: