tag:blogger.com,1999:blog-7972967.post8859331230994959892..comments2023-10-10T16:21:40.559+02:00Comments on MathiasWestin: Change color on SVG item in QtMathiasWestinhttp://www.blogger.com/profile/17194202963360212028noreply@blogger.comBlogger1125tag:blogger.com,1999:blog-7972967.post-67303660308718236392015-07-02T16:24:16.277+02:002015-07-02T16:24:16.277+02:00the very best solution for me :) great job.
that&#...the very best solution for me :) great job.<br />that's realy modify QGraphicsSvgItem color.<br /><br />UILoader::UILoader(QWidget *parent):QGraphicsView(parent){<br /> item = new QGraphicsSvgItem(QLatin1String(":/loader.svg"));<br /><br /> this->setHorizontalScrollBarPolicy ( Qt::ScrollBarAlwaysOff );<br /> this->setVerticalScrollBarPolicy ( Qt::ScrollBarAlwaysOff );<br /> this->setStyleSheet( "QGraphicsView { border-style: none; }" );<br />}<br /><br />UILoader::rotateLoader(){<br /> item->setRotation(item->rotation()+10);<br /> float angle=-float(item->rotation())/180.0*3.1415926535897;<br /> item->setX(-w*(cos(angle)-1)/2-sin(angle)*h/2);<br /> item->setY(w*(sin(angle))/2-(cos(angle)-1)*h/2);<br />}<br /><br />UILoader::putLoader(QString color){<br /> W=this->width();<br /> H=this->height();<br /> connect(&loop,SIGNAL(timeout()),this,SLOT(rotateLoader()));<br /><br /> float dx=W/float(item->boundingRect().width());<br /> float dy=H/float(item->boundingRect().height());<br /> float min=std::min(dx,dy);<br /> w=std::min(W,H);<br /> h=w;<br /><br /> item->setScale(min);<br /> QSP = QSharedPointer(item);<br /> QGraphicsColorizeEffect* QGCE = new QGraphicsColorizeEffect();<br /> QGCE->setColor(Qt::blue);<br /> QSP->setGraphicsEffect(QGCE);<br /><br /> scene=new QGraphicsScene();<br /> scene->setSceneRect((w-W)/2,(h-H)/2,W,H);<br /> this->setScene(scene);<br /> this->setRenderHints(QPainter::Antialiasing);<br /> scene->addItem(QSP.data());<br /> this->show();<br /><br /> loop.start(50);<br />}Unknownhttps://www.blogger.com/profile/14099846604988098138noreply@blogger.com