除了win7的问题外全修复了

This commit is contained in:
Mike Solar
2023-08-18 20:51:05 +08:00
parent b728e697fb
commit 5ec58b3bfb
6 changed files with 56 additions and 26 deletions

View File

@ -932,7 +932,14 @@ bool SQLiteHelper::get_software(QList<ButtonStruct>* button_structs, ConfigRespo
}
while (query.next())
{
QString icon = QApplication::applicationDirPath() + DEFAULT_SVG_PATH + query.value("orig_name").toString() + ".svg";
QString icon;
if(query.value("logo").toString().contains(":"))
{
icon = query.value("logo").toString();
}else
{
icon = QApplication::applicationDirPath() +query.value("logo").toString();
}
ButtonStruct button_struct;
button_struct.path = query.value("path").toString();
button_struct.text = query.value("name").toString();
@ -948,14 +955,16 @@ bool SQLiteHelper::get_software(QList<ButtonStruct>* button_structs, ConfigRespo
{
QByteArray svg_buffer = file.readAll();
file.close();
QSvgRenderer* render_image = new QSvgRenderer(svg_buffer);
QDomDocument doc;
doc.setContent(svg_buffer);
SetSVGBackColor(doc.documentElement(), "path", "fill", title_color);
QSvgRenderer* render_image = new QSvgRenderer(doc.toByteArray());
QPainter painter_image(image);
painter_image.setCompositionMode(QPainter::CompositionMode_Clear); // 清除画布
painter_image.fillRect(image->rect(), Qt::transparent); // 填充透明色
painter_image.setCompositionMode(QPainter::CompositionMode_SourceOver); // 恢复默认值
render_image->render(&painter_image);
//修改颜色
QDomDocument doc;
doc.setContent(svg_buffer);
SetSVGBackColor(doc.documentElement(), "path", "fill", title_cover_color);
QSvgRenderer* render_image_cover = new QSvgRenderer(doc.toByteArray());
@ -976,14 +985,16 @@ bool SQLiteHelper::get_software(QList<ButtonStruct>* button_structs, ConfigRespo
{
QByteArray svg_buffer = file.readAll();
file.close();
QSvgRenderer* render_image = new QSvgRenderer(svg_buffer);
QDomDocument doc;
doc.setContent(svg_buffer);
SetSVGBackColor(doc.documentElement(), "path", "fill", title_color);
QSvgRenderer* render_image = new QSvgRenderer(doc.toByteArray());
QPainter painter_image(image);
painter_image.setCompositionMode(QPainter::CompositionMode_Clear); // 清除画布
painter_image.fillRect(image->rect(), Qt::transparent); // 填充透明色
painter_image.setCompositionMode(QPainter::CompositionMode_SourceOver); // 恢复默认值
render_image->render(&painter_image);
//修改颜色
QDomDocument doc;
doc.setContent(svg_buffer);
SetSVGBackColor(doc.documentElement(), "path", "fill", title_cover_color);
QSvgRenderer* render_image_cover = new QSvgRenderer(doc.toByteArray());
@ -1038,14 +1049,16 @@ bool SQLiteHelper::get_software(QList<ButtonStruct>* button_structs,QString back
{
QByteArray svg_buffer = file.readAll();
file.close();
QSvgRenderer* render_image = new QSvgRenderer(svg_buffer);
QDomDocument doc;
doc.setContent(svg_buffer);
SetSVGBackColor(doc.documentElement(), "path", "fill", title_color);
QSvgRenderer* render_image = new QSvgRenderer(doc.toByteArray());
QPainter painter_image(image);
painter_image.setCompositionMode(QPainter::CompositionMode_Clear); // 清除画布
painter_image.fillRect(image->rect(), Qt::transparent); // 填充透明色
painter_image.setCompositionMode(QPainter::CompositionMode_SourceOver); // 恢复默认值
render_image->render(&painter_image);
//修改颜色
QDomDocument doc;
doc.setContent(svg_buffer);
SetSVGBackColor(doc.documentElement(), "path", "fill", title_cover_color);
QSvgRenderer* render_image_cover = new QSvgRenderer(doc.toByteArray());
@ -1066,14 +1079,16 @@ bool SQLiteHelper::get_software(QList<ButtonStruct>* button_structs,QString back
{
QByteArray svg_buffer = file.readAll();
file.close();
QSvgRenderer* render_image = new QSvgRenderer(svg_buffer);
QDomDocument doc;
doc.setContent(svg_buffer);
SetSVGBackColor(doc.documentElement(), "path", "fill", title_color);
QSvgRenderer* render_image = new QSvgRenderer(doc.toByteArray());
QPainter painter_image(image);
painter_image.setCompositionMode(QPainter::CompositionMode_Clear); // 清除画布
painter_image.fillRect(image->rect(), Qt::transparent); // 填充透明色
painter_image.setCompositionMode(QPainter::CompositionMode_SourceOver); // 恢复默认值
render_image->render(&painter_image);
//修改颜色
QDomDocument doc;
doc.setContent(svg_buffer);
SetSVGBackColor(doc.documentElement(), "path", "fill", title_cover_color);
QSvgRenderer* render_image_cover = new QSvgRenderer(doc.toByteArray());
@ -1174,8 +1189,6 @@ bool SQLiteHelper::update_app()
categories[INNER - 1] = true;
update_total();
}
}
}
work.exec("commit;");