pywebview. Как переключить фокус на основное окно программы?
Использовал pywebview для отображения веб-страниц внутри программы. Столкнулся с проблемой: при создании окна webview основное окно программы становится неактивным, причем манипуляции с ним (перемещение) запоминаются и воспроизводятся после закрытия окна webview. Попробовал пустить через поток, вероятно не правильно использовал. Кто сталкивался, как решить эту проблему? Нужно чтоб основное окно не блокировалось окном webview. Минимальный код ниже. Для работы необходимы установленные: PyQt5, PyWebview.
(известный вариант с PyQtWebEngine не предлагайте, работает только на х64 и при инсталяции/деинсталяции вышибает рабочую PyQt5).
from threading import Thread
import sys
import webview
from PyQt5 import QtWidgets
from PyQt5.Qt import *
class Window(QMainWindow):
def __init__(self):
super(Window, self).__init__()
self.resize(400, 200)
self.centralwidget = QtWidgets.QWidget()
self.setCentralWidget(self.centralwidget)
self.label = QtWidgets.QLabel('<h1>Double Click Me!</h1>', alignment=Qt.AlignCenter)
self.label.setStyleSheet('background-color: #5599ff;')
self.gridLayout = QtWidgets.QGridLayout(self.centralwidget)
self.gridLayout.addWidget(self.label, 0, 0, 1, 1)
def mouseDoubleClickEvent(self, event):
thread_func()
def thread_func():
webview.start(win2)
if __name__ == '__main__':
win2 = webview.create_window('tst_win_2', html='text2', width=400, height=300)
app = QApplication(sys.argv)
window = Window()
window.show()
thread = Thread(target=thread_func)
thread.start()
thread.join()
sys.exit(app.exec_())