Этот вопрос закрыт для ответов, так как повторяет вопрос Python. Как сделать интерфейс для программы без сторонних модулей и библиотек?
@DimaKatanavich
wtf

Как создать окно/полноценное приложение на чистом Python?

Я бы хотел создать окно (которое к тому же можно дополнить виджетами и блекджеком) на чистом Python/Cython. Без использования сторонних библиотек по типу Tkinter, только встроенные os/sys/math и т.д.
  • Вопрос задан
  • 967 просмотров
Ответы на вопрос 3
sergey-gornostaev
@sergey-gornostaev Куратор тега Python
Седой и строгий
Tkinter - не сторонняя библиотека, она входит в стандартный дистрибутив Python.
Ответ написан
Vindicar
@Vindicar
RTFM!
Если на чистом питоне без tkinter, то кроссплатформенного решения нет.
Под винду - ctypes + windows api, но это очень, очень мучительное решение.
Под никсы... вот честно, я фз. Не удивлюсь, если там нужно привязываться к конкретному оконному менеджеру...
Ответ написан
Wacdis
@Wacdis
PHP, Python, GO, Rust, NodeJS, SOA/MSA
Я не страдал, взял webview и все просто и кросс-платформенно!
# https://pywebview.flowrl.com
import webview
import threading
import time
import sys
import random

html = """
<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"></head><body>
    <a href="" id="b1">Button</a>
	<script>
		document.querySelector('#b1').addEventListener('click', (ev) => {
			ev.preventDefault();
			pywebview.api.btnAClick().then((r) => {
				document.querySelector('#b1').style.color = '#FFF000';
			});
		});
	</script>
</body></html>
"""

class MyApi:
	def __init__(self):
		self.cancel_heavy_stuff_flag = False

	def btnAClick(self):
		response = {
			'error': 0,
			'message': 'https://google.com/'
		}
		return response

if __name__ == '__main__':
	api = MyApi()
	window = webview.create_window('Example', html=html, js_api=api)
	webview.start()


Если не секрет, то почему нужно именно такое решение?
Ответ написан
Ваш ответ на вопрос

Вопрос закрыт для ответов и комментариев

Потому что уже есть похожий вопрос.
Похожие вопросы