feat(ViperQtProject): 对勾图标改 base64 data URI 内嵌(免运行时文件)
This commit is contained in:
1 parent
07f16ae1a6
commit
921a247fe5
1 file changed
+7
-10
@@ -466,19 +466,16 @@ def OnThemeChanged(slot_id: int, data: t.CPtr):
|
||||
ApplyTheme(idx)
|
||||
|
||||
|
||||
chk_off_b64: str = "iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAuUlEQVR42mNgGAVYAL+AoLyLp19/cmbh+aqmnv+UYJAZILNAZhJlua6BSXxRZfN7Si1GxyAzQWYTtBxZk09g+HxbR7d6SjDIDGQzcToCFEQwn4OCTUxCSp9aUQoyCxadIDuwRgconmCupKblyI6AmQ+yC0MBzIWgIKNV4oZFB8guDEmY60DxRisHgMyG2TPqgFEHjDpg1AGjDhh1wKgDBp8DBrxBMuBNsgFvlA54s3xQdEwGRddsxAEAzvhAa3CJi0YAAAAASUVORK5CYII="
|
||||
chk_on_b64: str = "iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAABW0lEQVR42mNgGAVYACuvqLy4bVy/UkTHea3cFf8pwSAzQGaBzCTKcn4N+3j1tLnvKbUYHYPMBJlN0HJqW4yOcToCFES08Dm2kMAaHaB4ooWFgR07wBhZDGQXhgOokeDQLb7++N1/GACxYQ4B2YXhAGpabl62FsVyZEfA1NDUASdvvfyPC8BCgWYOWH/i3n98gKYOaF9zDq/lNI2CnFmH8Vr+8etPlNxAlAOwZSFc6kAWEBP0RDkAXxbCluIJWV65+ASGPrwOwJaF0IMQX3ZDBgv338DqcJwOAFlCbDwSSvEgeVzRRpYDkB0B8hmhFA8KIZIdgCsK0B1BSB6f5UQlQkKWEBtNZDmAEkeAygNiyg2iywFSHAEqCYktuIguCYl1BL4UT5EDiHEEqPYjtegmuUGCyxGEshuuljJZTTJSimh8GGuTjJRGKbGVFEmN0gFvlg+Kjsmg6JqNOAAARtDS7ZXllfcAAAAASUVORK5CYII="
|
||||
|
||||
|
||||
def ApplyIndicatorIcons(ptr: t.CPtr, is_tree: int):
|
||||
"""复选框/树叶子指示器:对勾 PNG(未勾=灰框,勾选=蓝框+白勾)
|
||||
URL 由 vqt6_asset_url_utf8 用 QUrl::fromLocalFile 生成(避免反斜杠问题)"""
|
||||
"""复选框/树叶子指示器:对勾 PNG 以 base64 data URI 内嵌,无需运行时文件"""
|
||||
sel: str = "QTreeWidget" if is_tree != 0 else "QCheckBox"
|
||||
uoff: bytes = stdlib.malloc(640)
|
||||
uon: bytes = stdlib.malloc(640)
|
||||
vqt6.vqt6_asset_url_utf8(uoff, 640, "assets/check_off.png")
|
||||
vqt6.vqt6_asset_url_utf8(uon, 640, "assets/check_on.png")
|
||||
buf: bytes = stdlib.malloc(1600)
|
||||
viperlib.snprintf(buf, 1600, "%s::indicator { width: 16px; height: 16px; background-color: transparent; background-repeat: no-repeat; background-position: center; } %s::indicator:unchecked { image: url(%s); } %s::indicator:checked { image: url(%s); }", sel, sel, uoff, sel, uon)
|
||||
buf: bytes = stdlib.malloc(2400)
|
||||
viperlib.snprintf(buf, 2400, "%s::indicator { width: 16px; height: 16px; background-color: transparent; background-repeat: no-repeat; background-position: center; } %s::indicator:unchecked { image: url(data:image/png;base64,%s); } %s::indicator:checked { image: url(data:image/png;base64,%s); }", sel, sel, chk_off_b64, sel, chk_on_b64)
|
||||
vqt6.vqt6_qwidget_set_stylesheet_utf8(ptr, buf)
|
||||
stdlib.free(uoff)
|
||||
stdlib.free(uon)
|
||||
stdlib.free(buf)
|
||||
|
||||
|
||||
|
||||
Reference in new issue
Block a user