Mar*_*rko 5 qt4 pyqt4 window-position python-2.7
当我.show()对话时它通常会向左侧显示一点,我不知道为什么.我想把所有打开的对话框放在中心,所以我用过:
qr = dlgNew.frameGeometry()
cp = QtGui.QDesktopWidget().availableGeometry().center()
qr.moveCenter(cp)
dlgNew.move(qr.topLeft())
Run Code Online (Sandbox Code Playgroud)
并且:
sG = QtGui.QApplication.desktop().screenGeometry()
x = (sG.width()-dlgMain.width()) / 2
y = (sG.height()-dlgMain.height()) / 2
dlgMain.move(x,y)
dlgMain.show()
Run Code Online (Sandbox Code Playgroud)
我的问题是,哪种是正确/更好的使用方式,有什么区别?
如果您没有明确指定位置,Qt将让操作系统的窗口管理器决定放置窗口的位置.在您的情况下,"向左一点"是您的窗口管理员决定的.
至于这两种方法,存在一些差异.
首先,.availableGeometry()vs .screenGeometry()..screenGeometry()为您提供整个屏幕矩形.其中.availableGeometry(),返回可用的矩形.这是排除某些永久组件(如Windows中的任务栏)的区域.(文件解释差异)
第二,.frameGeometry()vs width()/height()..frameGeometry()返回窗口占据屏幕的总面积.在另一方面,width()/height()返回width和height 内部不包括窗框,标题条等的窗口(文档说明的差异)
考虑到这些,我会说第一种方法更合适.
| 归档时间: |
|
| 查看次数: |
3826 次 |
| 最近记录: |