Найти - Пользователи
Полная версия: cefpython3 связь JS и Python
Начало » Python для экспертов » cefpython3 связь JS и Python
1
ioprst
Python 3.4. GUI - wxPython.
Необходимо вычислить размер текста в пикселях, объявленного в SVG документе.
 <svg viewBox="0 0 {width} {height}" xmlns="http://www.w3.org/2000/svg" id="svg" height="100%" width="100%">
  <text font-family="{font}" font-size="{size}" id="user_text">{text}</text>
</svg>
Средствами Python и wxPython это сделать не получается. wxPython позволяет определить размеры, который будет занимать текст с определенным шрифтом, размером и т.д., но они не верны для SVG (из-за масштабирования svg-документа, как я понял).
Нашел способ вычисления размера текста через JS:
 let text = document.getElementById("user_text");
let box = text.getBBox();
let w = box.width;
let h = box.height;
Это решение дает верный результат.
Мне необходимо использовать значения, вычисленные в JS, в моей GUI программе на Python.
Встроенные в wxPython web-движок такое не вытягивает (там какой-то старый IE).
Посоветовали библиотеку cefpython3 - Chromium Embedded Framework. Она позволяет подключить браузер к GUI. Это работает отлично.
Как я понял из туториала, из Python можно вызвать JS методы, предварительно их объявив.
Но мне никак не удается реализовать механизм, чтобы после выполнения функции JS вернуть результат обратно в Python и использовать его.
Возможно ли вообще такое? Если да, подскажите, пожалуйста, в какую сторону копать.
maryrosie
Я никогда не знал этих решений, это определенно большое упущение для меня!
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB