Создает окно, в котором загружается мой веб-сайт, поэтому он действует как приложение, а не как сервер. Как будто мне не нужно открывать браузер и переходить на локальный хост и т. д. и т. п. Это просто все в одном приложении, т. е. запустите сервер, откройте приложение, в которое встроен браузер Chrome.
Что я использовал:
- Python 3.14
- Библиотеки Python:
Flask (для серверной части) - PyQt (для фрейма приложения)
- PyQt-Frameless-Window (для пользовательской строки заголовка)
- Сокет для связи с сервером
Что я пытался сделать:
Код: Выделить всё
from qframelesswindow import FramelessWindow, StandardTitleBar
from qframelesswindow.webengine import FramelessWebEngineView
class CustomTitleBar(StandardTitleBar):
def __init__(self, parent):
super().__init__(parent)
logo_w = 50
logo_h = 32
self.iconLabel.setFixedSize(logo_w, logo_h)
self.setIcon("AIN_Logo.png", logo_w, logo_h)
class MainWindow(FramelessWindow):
def __init__(self):
super().__init__()
self.setTitleBar(CustomTitleBar(self))
self.setStyleSheet(
'''
background-color: #000835;
color: skyblue;
'''
)
self.hBoxLayout = QHBoxLayout(self)
self.webEngine = FramelessWebEngineView(self)
self.hBoxLayout.setContentsMargins(0, self.titleBar.height(), 0, 0)
self.hBoxLayout.addWidget(self.webEngine)
self.webEngine.setMouseTracking(True)
access_key = "Ba**********"
self.webEngine.load(QUrl(f"http://localhost:5000/?key={access_key}"))
self.resize(1200, 800)
self.titleBar.raise_()
self.showMaximized()
Код: Выделить всё
.pi{
display: inline-block;
width: 13vw;
height: 100%;
border: hsla(0 0 90 / 0.6) solid 2px;
border-radius: 5px;
transition: all 0.2s ease-in-out;
background-position: center;
background-repeat: no-repeat;
background-size: cover;
}
.pi:hover{
scale:1.1;
}
.overlay{
display: flex;
height: 100%;
width: 100%;
background-color: hsla(0 0 90 / 0.6);
transition: all 0.2s ease-in-out;
opacity: 0;
color: black;
font-size: 140%;
font-family: 'Lucida Sans', 'Lucida Sans Regular', 'Lucida Grande', 'Lucida Sans Unicode', Geneva, Verdana, sans-serif;
backdrop-filter: blur(3.5px);
}
.pi:hover .overlay{
opacity: 1;
}
.pi:hover{
backdrop-filter: blur(20px);
}
но когда я навожу курсор в окне, виден только переход масштаба. Я пытался отладить его, но кажется, что открытие моего веб-сайта в другом браузере (chrome, Edge) работает нормально, без ошибок в консоли.
Дополнительные вещи, которые я пробовал (но не сработало):
- Отключить ускорение графического процессора (хотя у меня встроенный графический процессор).
- Вместо этого используйте OpenGL средства рендеринга по умолчанию
Подробнее здесь: https://stackoverflow.com/questions/798 ... -webengine
Мобильная версия