如何在PySide/PyQt中在屏幕中央创建小部件?

2024-10-05 14:27:38 发布

您现在位置:Python中文网/ 问答频道 /正文

这段代码有效,但我想知道是否有更简单的方法:

def center(self):
    qr = self.frameGeometry()
    cp = gui.QDesktopWidget().availableGeometry().center()
    qr.moveCenter(cp)
    self.move(qr.topLeft())

Tags: 方法代码selfmovedefguicpqr
3条回答

只需将这一行添加到主窗口:

self.move(QtGui.QApplication.desktop().screen().rect().center()- self.rect().center())
self.move(QDesktopWidget().availableGeometry().center() - self.frameGeometry().center())

不,这是最简单的方法。这是我在C++中使用的片段:

  QRect desktopRect = QApplication::desktop()->availableGeometry(this);
  QPoint center = desktopRect.center();

  move(center.x() - width() * 0.5, center.y() - height());

相关问题 更多 >