MCPcopy Index your code
hub / github.com/SLiCAP/SLiCAP_python / _show_svg

Method _show_svg

SLiCAP/schematic/parameter_dialog.py:268–288  ·  view source on GitHub ↗
(self, svg_bytes: bytes)

Source from the content-addressed store, hash-verified

266 self._ok_btn.setEnabled(False)
267
268 def _show_svg(self, svg_bytes: bytes) -> None:
269 from PySide6.QtSvg import QSvgRenderer
270 from PySide6.QtCore import QByteArray
271 renderer = QSvgRenderer(QByteArray(svg_bytes))
272 if not renderer.isValid():
273 self._preview_lbl.setText("(invalid SVG)")
274 return
275 vb = renderer.viewBoxF()
276 sw = vb.width() if vb.width() > 0 else renderer.defaultSize().width()
277 sh = vb.height() if vb.height() > 0 else renderer.defaultSize().height()
278 if sw <= 0 or sh <= 0:
279 self._preview_lbl.setText("(empty SVG)")
280 return
281 scale = min(self._PREVIEW_MAX_W / sw, self._PREVIEW_MAX_H / sh, 3.0)
282 pw, ph = max(1, int(sw * scale)), max(1, int(sh * scale))
283 px = QPixmap(pw, ph)
284 px.fill(Qt.white)
285 p = QPainter(px)
286 renderer.render(p)
287 p.end()
288 self._preview_lbl.setPixmap(px)
289
290 def _compute_natural_size(self, svg_bytes: bytes) -> None:
291 """Compute the baseline (100 %) width/height in scene units from SVG."""

Callers 2

__init__Method · 0.95
_renderMethod · 0.95

Calls

no outgoing calls

Tested by

no test coverage detected