Вышел релиз Slint 1.14, приносящий масштабные обновления для UI-разработки:
новые возможности трансформации графики и улучшенную интеграцию с Python.
✅ Универсальные графические трансформации
Теперь масштабирование (scale) и вращение (rotate) — это часть языка Slint по умолчанию.
Можно трансформировать любой элемент, а не только
Image или Text.➡️ Это упрощает структуру интерфейсов — больше не нужно задумываться, как правильно “родительствовать” элементы для трансформации.
Посмотреть демо можно в официальном блоге Slint.
✅ Улучшенная интеграция с Python
Добавлена поддержка asyncio. Теперь Slint работает как полноценный
asyncio.EventLoop, что делает возможным асинхронный код и работу с библиотеками вроде aiohttp.Пример:
import slint, aiohttp
class AppWindow(slint.loader.app_window.AppWindow):
@slint.callback
async def refresh_poem(self):
async with aiohttp.ClientSession() as session:
async with session.get("https://poetrydb.org/random") as response:
data = await response.json()
self.poem = "\n".join(data[0]["lines"])
async def main():
app = AppWindow()
app.show()
await app.refresh_poem()
slint.run_event_loop(main())
Асинхронные колбэки и поддержка локализации теперь тоже работают без дополнительной настройки.
✅ Унифицированный рендеринг текста
Все движки рендеринга (FemtoVG, Skia, Qt и Software) теперь используют общую систему Fontique и Parley (от Linebender).
Это даёт:
— одинаковое поведение текста на всех платформах
— улучшенный выбор шрифтов (особенно в Linux)
— подготовку к поддержке rich text
✔️ Полный список — в ChangeLog
✔️ Документация
🐸 Библиотека питониста
#свежак