• Centering window on the screen


    The following script shows how we can center a window on the desktop screen.

    #!/usr/bin/python
    # -*- coding: utf-8 -*-
    
    """
    ZetCode PyQt4 tutorial 
    
    This program centers a window 
    on the screen. 
    
    author: Jan Bodnar
    website: zetcode.com 
    last edited: October 2011
    """
    
    import sys
    from PyQt4 import QtGui
    
    
    class Example(QtGui.QWidget):
        
        def __init__(self):
            super(Example, self).__init__()
            
            self.initUI()
            
        def initUI(self):               
            
            self.resize(250, 150)
            self.center()
            
            self.setWindowTitle('Center')    
            self.show()
            
        def center(self):
            
            qr = self.frameGeometry()
            cp = QtGui.QDesktopWidget().availableGeometry().center()
            qr.moveCenter(cp)
            self.move(qr.topLeft())
            
            
    def main():
        
        app = QtGui.QApplication(sys.argv)
        ex = Example()
        sys.exit(app.exec_())
    
    
    if __name__ == '__main__':
        main()     
    

    The QtGui.QDesktopWidget class provides information about the user's desktop, including the screen size.

    self.center()
    

    The code that will center the window is placed in the custom center() method.

    qr = self.frameGeometry()
    

    We get a rectangle specifying the geometry of the main window. This includes any window frame.

    cp = QtGui.QDesktopWidget().availableGeometry().center()
    

    We figure out the screen resolution of our monitor. And from this resolution, we get the center point.

    qr.moveCenter(cp)
    

    Our rectangle has already its width and height. Now we set the center of the rectangle to the center of the screen. The rectangle's size is unchanged.

    self.move(qr.topLeft())
    

    We move the top-left point of the application window to the top-left point of the qr rectangle, thus centering the window on our screen.

  • 相关阅读:
    ofbiz初级教程
    IBASE4J开发环境搭建
    Nginx在windows上安装 及 Nginx的配置及优化
    Windows里正确安装Zookeeper以服务运行
    分享一个完整的Mybatis分页解决方案
    jquery weui ajax滚动加载更多
    Spring+Mybatis+SpringMVC后台与前台分页展示实例
    Mysql怎么样避免全表扫描,sql查询优化
    SQL优化|Java面试题
    mysql 全表扫描、全索引扫描、索引覆盖(覆盖索引)
  • 原文地址:https://www.cnblogs.com/hushaojun/p/4435403.html
Copyright © 2020-2023  润新知