gpt4 book ai didi

qt4 - PyQt4 居中对话框窗口的最佳方法是什么?

转载 作者:行者123 更新时间:2023-12-04 17:53:15 24 4
gpt4 key购买 nike

当我.show()一个对话框通常显示在左边一点,我不知道为什么。我想将所有打开的对话框居中,所以我使用了:

qr = dlgNew.frameGeometry()
cp = QtGui.QDesktopWidget().availableGeometry().center()
qr.moveCenter(cp)
dlgNew.move(qr.topLeft())

并且:
sG = QtGui.QApplication.desktop().screenGeometry()
x = (sG.width()-dlgMain.width()) / 2
y = (sG.height()-dlgMain.height()) / 2

dlgMain.move(x,y)
dlgMain.show()

我的问题是,哪个是正确/更好的使用方式,有什么区别?

最佳答案

如果您没有明确指定位置,Qt 将让操作系统的窗口管理器决定将窗口放在哪里。在您的情况下,“向左一点”是您的窗口管理器决定的。

至于这两种方法,有一些区别。

一、.availableGeometry()对比 .screenGeometry() . .screenGeometry()为您提供屏幕的整个矩形。如 .availableGeometry() , 返回可用的矩形。这是某些永久性组件(如 Windows 中的任务栏)被排除在外的区域。 ( Docs explaining the differences )

二、.frameGeometry()对比 width()/height() . .frameGeometry()返回窗口在屏幕上占据的总面积。另一方面,width()/height()返回 widthheight在不包括窗口框架、标题栏等的窗口内( Docs explaining the differences )

考虑到这些,我会说第一种方法更合适。

关于qt4 - PyQt4 居中对话框窗口的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12432740/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com