как сделать чтобы фокус не переходил на приложение pyqt5?

Рейтинг: 0Ответов: 0Опубликовано: 19.01.2023

Я хочу сделать клавиатуру на pyqt5, но столкнулся с проблемой. Когда я нажимаю на строку ввода (например в браузере), а после этого нажимаю на кнопку клавиатуры (в приложении), то фокус переносится на моё приложение и строка ввода становится неактивной. Как сделать так, чтобы фокус с другого приложения не исчезал?

Фокус на строке ввода в браузере (до нажатия кнопки):

Фокус на строке ввода в браузере

Фокус перешёл на моё приложение (после нажатия кнопки):

Фокус перешёл на моё приложение

from PyQt5 import QtCore, QtWidgets

class Ui_MainWindow(object):
    def setupUi(self, MainWindow):
        MainWindow.setObjectName("MainWindow")
        MainWindow.resize(316, 190)
        self.centralwidget = QtWidgets.QWidget(MainWindow)
        self.centralwidget.setObjectName("centralwidget")
        self.pushButton = QtWidgets.QPushButton(self.centralwidget)
        self.pushButton.setGeometry(QtCore.QRect(10, 10, 291, 171))
        self.pushButton.setObjectName("pushButton")
        MainWindow.setCentralWidget(self.centralwidget)

        MainWindow.setWindowFlags(QtCore.Qt.WindowStaysOnTopHint)

        self.retranslateUi(MainWindow)
        QtCore.QMetaObject.connectSlotsByName(MainWindow)

    def retranslateUi(self, MainWindow):
        _translate = QtCore.QCoreApplication.translate
        MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow"))
        self.pushButton.setText(_translate("MainWindow", "PushButton"))


if __name__ == "__main__":
    import sys
    app = QtWidgets.QApplication(sys.argv)
    MainWindow = QtWidgets.QMainWindow()
    ui = Ui_MainWindow()
    ui.setupUi(MainWindow)
    MainWindow.show()
    sys.exit(app.exec_())

Ответы

Ответов пока нет.