Я делаю что-то похожее на устройство записи экрана, используя библиотеку PyQT. Моя проблема заключается в том, что я могу думать только о том, чтобы запустить записывающую часть приложения, находящуюся в классе «событие события» класса виджета. Вот пример кода:
class MainWindow(QWidget):
def __init__(self):
#setup window
def initUI(self):
#init UI stuff
def paintEvent(self, event):
#capture the screen and then display it on this widget
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = MainWindow()
sys.exit(app.exec_())
Моя главная проблема в области живописи. Я мог бы запустить поток и позволить при захвате и сохранять кадры, но я хочу активно отображать каждый кадр в окне. Это может работать, когда виджет имеет фокус, но как только мышь уходит, а окно теряет фокус, оно останавливается, потому что событие Paintevent не активируется.
Есть ли способ решить это? Спасибо!