PyQt 应用程序屏幕更改通知
PyQt application screen change notification
我查了一些资料。 C++有一个onScreenChanged函数来通知我们屏幕变化,但是我试了一下,发现PyQt没有这个onScreenChanged函数。我怎么知道应用程序改变了屏幕显示?
如果你想知道window是否改变了屏幕那么你必须使用QWidget的screenChanged
signal of the associated QWindow(use windowHandle()
方法)。 QWindow 是在调用 show 方法后创建的:
from PyQt5 import QtWidgets
if __name__ == "__main__":
app = QtWidgets.QApplication([])
w = QtWidgets.QMainWindow()
w.show()
w.windowHandle().screenChanged.connect(lambda screen: print("new screen", screen))
w.resize(640, 480)
app.exec_()
我查了一些资料。 C++有一个onScreenChanged函数来通知我们屏幕变化,但是我试了一下,发现PyQt没有这个onScreenChanged函数。我怎么知道应用程序改变了屏幕显示?
如果你想知道window是否改变了屏幕那么你必须使用QWidget的screenChanged
signal of the associated QWindow(use windowHandle()
方法)。 QWindow 是在调用 show 方法后创建的:
from PyQt5 import QtWidgets
if __name__ == "__main__":
app = QtWidgets.QApplication([])
w = QtWidgets.QMainWindow()
w.show()
w.windowHandle().screenChanged.connect(lambda screen: print("new screen", screen))
w.resize(640, 480)
app.exec_()