Pyqt4 显示屏幕中间的QualWindows 我想在屏幕中间显示我的项目主窗口。当我调用“Sudio.Suffor()”时,窗口就显示在屏幕中间。
首先,我建议不要试图对用户强制设置窗口位置,并让系统的窗口管理器决定它应该去哪里。如果您真的坚持自己定位它(也许您正在为一个信息亭编程),您可以在前面关于stackoverflow的问题中找到 一个稍微优雅一点的计算方法是Pyqt4 显示屏幕中间的QualWindows 我想在屏幕中间显示我的项目主窗口。当我调用“Sudio.Suffor()”时,窗口就显示在屏幕中间。,pyqt4,qmainwindow,Pyqt4,Qmainwindow,首先,我建议不要试图对用户强制设置窗口位置,并让系统的窗口管理器决定它应该去哪里。如果您真的坚持自己定位它(也许您正在为一个信息亭编程),您可以在前面关于stackoverflow的问题中找到 一个稍微优雅一点的计算方法是 在进行此计算时,重要的是要在正确的时间进行计算,在Qt调整了所有内容的大小之后,在屏幕上显示之前。一种可能有帮助的方法是在计时器的插槽中进行屏幕定位 我知道你已经解决了这个问题,但我为那些有同样问题的人做了这个回答。我之所以发布它,主要是因为您要求pyQt,而另一个答案是Qt
在进行此计算时,重要的是要在正确的时间进行计算,在Qt调整了所有内容的大小之后,在屏幕上显示之前。一种可能有帮助的方法是在计时器的插槽中进行屏幕定位 我知道你已经解决了这个问题,但我为那些有同样问题的人做了这个回答。我之所以发布它,主要是因为您要求pyQt,而另一个答案是Qt(C++)。 我在这里找到了一个解决方法: 是如此简单和完美,我传输它
class ExampleWindow (QtGui.QMainWindow):
def __init__ (self, parent=None):
'''constructor'''
QtGui.QMainWindow.__init__(self, parent)
self.setGeometry(0, 0, 650, 550)
self.setWindowTitle("My Example Application")
self.centerOnScreen()
def centerOnScreen (self):
'''centerOnScreen()
Centers the window on the screen.'''
resolution = QtGui.QDesktopWidget().screenGeometry()
self.move((resolution.width() / 2) - (self.frameSize().width() / 2),
(resolution.height() / 2) - (self.frameSize().height() / 2))
祝你好运 这在Pyqt5中对我很有效:
from PyQt5.QtWidgets import *
qtRectangle = self.frameGeometry()
centerPoint = QDesktopWidget().availableGeometry().center()
qtRectangle.moveCenter(centerPoint)
self.move(qtRectangle.topLeft())
有没有办法指定这将出现在哪个监视器上?我正在设置两个监视器。
AttributeError:module'PyQt5.QtGui'没有属性'QDesktopWidget'
这是一个很好的答案。实用,优雅。这对我很有效!