zoukankan      html  css  js  c++  java
  • Drawing points

    A point is the most simple graphics object that can be drawn. It is a small spot on the window.

    #!/usr/bin/python
    # -*- coding: utf-8 -*-
    
    """
    ZetCode PyQt4 tutorial 
    
    In the example, we draw randomly 1000 red points 
    on the window.
    
    author: Jan Bodnar
    website: zetcode.com 
    last edited: September 2011
    """
    
    import sys, random
    from PyQt4 import QtGui, QtCore
    
    class Example(QtGui.QWidget):
        
        def __init__(self):
            super(Example, self).__init__()
            
            self.initUI()
            
        def initUI(self):      
    
            self.setGeometry(300, 300, 280, 170)
            self.setWindowTitle('Points')
            self.show()
    
        def paintEvent(self, e):
    
            qp = QtGui.QPainter()
            qp.begin(self)
            self.drawPoints(qp)
            qp.end()
            
        def drawPoints(self, qp):
          
            qp.setPen(QtCore.Qt.red)
            size = self.size()
            
            for i in range(1000):
                x = random.randint(1, size.width()-1)
                y = random.randint(1, size.height()-1)
                qp.drawPoint(x, y)     
                    
            
    def main():
        
        app = QtGui.QApplication(sys.argv)
        ex = Example()
        sys.exit(app.exec_())
    
    
    if __name__ == '__main__':
        main()
    

    In our example, we draw randomly 1000 red points on the client area of the window.

    qp.setPen(QtCore.Qt.red)
    

    We set the pen to red colour. We use a predefined QtCore.Qt.red colour constant.

    size = self.size()
    

    Each time we resize the window, a paint event is generated. We get the current size of the window with the size() method. We use the size of the window to distribute the points all over the client area of the window.

    qp.drawPoint(x, y) 
    

    We draw the point with the drawPoint() method.

    PointsFigure: Points

  • 相关阅读:
    SQL中的max()函数用法
    C#多线程
    C#操作redis
    spring+mybatis 多数据库事务
    实战项目中 :一个业务对多个数据库操作的同步的处理办法(要么都成功,要么都失败)Threadlocal 数据库事务
    redis之数据操作详解
    C# 两个数组取交集/补集 Intersect()
    MySQL创建索引
    MySQL每日执行
    MySQL删除重复数据
  • 原文地址:https://www.cnblogs.com/hushaojun/p/4436939.html
Copyright © 2011-2022 走看看