Найти - Пользователи
Полная версия: Графика python 3.7
Начало » GUI » Графика python 3.7
1
Mutant
Здравствуйте, помогите задать случайно значения точек в пространстве – по 10 в каждой из восьми
областей, образуемых осями координат. Как на картинке, только 8 областей по 10 точек в каждой. Из представленного кода получается просто точки в пространстве (2 картинка). Желательно на основе представленного кода помочь, но можно на своем.

 import sys, random
from PyQt5.QtWidgets import QWidget, QApplication
from PyQt5.QtGui import QPainter, QColor, QPen
from PyQt5.QtCore import Qt
class Example(QWidget):
    def __init__(self):
        super().__init__()
        self.initUI()
    def initUI(self):
        self.setGeometry(300, 300, 280, 170)
        self.setWindowTitle('Points')
        self.show()
    def paintEvent(self, e):
        qp = QPainter()
        qp.begin(self)
        self.drawPoints(qp)
        qp.end()
    def drawPoints(self, qp):
        qp.setPen(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)
if __name__ == '__main__':
    app = QApplication(sys.argv)
    ex = Example()
    sys.exit(app.exec_())
Mutant
Вот 2 картинка (результат кода)
ZerG
Написал; работает что дальше?
Rodegast
> помогите задать случайно значения точек в пространстве – по 10 в каждой из восьми областей, образуемых осями координат.

Где ты 8 областей увидел?
 >>> import random
>>> def get_xy(n1, n2, n):
...     return ( random.randint(n1, n2) for _ in range(n) )
...
>>> list(zip(get_xy(0, 10, 10), get_xy(0, 10, 10)))
[(1, 0), (3, 2), (8, 4), (9, 5), (2, 3), (9, 7), (0, 2), (6, 5), (8, 9), (5, 7)]
>>> list(zip(get_xy(-10, 0, 10), get_xy(0, 10, 10)))
[(-4, 6), (-3, 2), (-9, 4), (-6, 4), (-7, 10), (-10, 10), (-2, 2), (-4, 4), (-6, 8), (-1, 4)]
>>> list(zip(get_xy(-10, 0, 10), get_xy(-10, 10, 10)))
[(-7, 9), (-6, 4), (-10, -1), (-4, 8), (-5, 7), (-7, 10), (-1, 10), (-4, 0), (0, -7), (-1, 3)]
>>> list(zip(get_xy(0, 10, 10), get_xy(-10, 10, 10)))
[(7, -9), (1, -2), (0, 4), (1, 3), (9, -8), (7, 10), (3, 5), (2, 9), (2, 0), (0, -2)]
simonovaleksandr
я делал программу которая помогает в решении задач ,я хочу для верхнего желтого текстового поля сделать полосу прокрутки и не умею этого делать , покажите пожалуйста как это делать с обьяснениями
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB