我正在使用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区域上。我可以启动一个线程,让at捕获并保存帧,但是我想在窗口上主动显示每个帧。这可以在小部件获得焦点时起作用,但是一旦鼠标移开并且窗口失去焦点,它就会停止,因为paintevent没有被激活。
总有办法解决吗?谢谢!