Qt5 python3中是否有以下代码的替代方案:
https://askubuntu.com/questions/153549/how-to-detect-a-computers-physical-screen-size-in-gtk
from gi.repository import Gdk
s = Gdk.Screen.get_default()
print(s.get_width(), s.get_height())
Qt5 python3中是否有以下代码的替代方案:
https://askubuntu.com/questions/153549/how-to-detect-a-computers-physical-screen-size-in-gtk
from gi.repository import Gdk
s = Gdk.Screen.get_default()
print(s.get_width(), s.get_height())
7条答案
按热度按时间siotufzp1#
您可以从
QApplication
获取主屏幕,它返回一个QScreen对象,可以访问许多有用的属性:请注意,
primaryScreen
方法是静态的,因此如果您已经在应用程序的其他位置创建了QApplication的示例,则可以轻松地在稍后获得QScreen对象,如下所示:r9f1avp52#
下面的python3代码允许获取屏幕大小,但是否有
QtWidgets.QDesktopWidget().screenGeometry(-1)
方法的替代方法:kcrjzv8t3#
screenGeometry()
的值是您查看的显示器。0是主屏幕,1,2表示安装了其他显示器。要列出所有可用的显示:
zaq34kh64#
你可以在这里看到-https://www.programmersought.com/article/58831562998/
kxxlusnw5#
如ekhumoro所述,屏幕信息可以从QApplication对象中获得。然而,QApplication应该只有一个全局示例。它通常在PyQt Gui应用程序的主脚本中设置:
这可能不是您希望使用屏幕属性的地方。
正如Omkar76所指出的,要从其他地方(例如在MainWindow()中)访问全局示例,请使用它的instance()函数。然后,您可以使用它的primaryScreen属性来访问QScreen对象中可用的许多有用信息:
QDesktopWidget已过时,因此应避免使用。
syqv5f0l6#
由于QDesktopWidget已经过时,您将需要使用QApplication的screenAt方法。primaryScreen是静态的,不会考虑应用程序的当前Screen:
ar7v8xwq7#
老实说,我不知道为什么总是这么匆忙地找到pyqt5的答案,但无论如何,我认为这就是你要找的。