Форум сайта python.su
помогите пожалуйста - запутался
import sys from PyQt4 import QtGui, QtCore import math def pos(angle, size, elipsSize): u""" точки на окружности """ x0 = y0 = (size / 2) - (elipsSize / 2) rad = size / 2 - 120 x = x0 + (math.cos(angle) * rad) y = y0 + (math.sin(angle) * rad) return (x, y) class Points(QtGui.QWidget): def __init__(self, parent=None): QtGui.QWidget.__init__(self, parent) self.size = 700 self.resize(self.size, self.size) self.ellipseSize = 50 def paintEvent(self, event): paint = QtGui.QPainter() paint.begin(self) paint.setPen(QtCore.Qt.red) for angle in range (0, 6): y, x = pos(angle, self.size, self.ellipseSize) paint.drawEllipse(x, y, self.ellipseSize, self.ellipseSize) paint.end() app = QtGui.QApplication(sys.argv) dt = Points() dt.show() app.exec_()
Отредактировано vrabey (Фев. 16, 2014 22:09:46)
Офлайн
import sys from PyQt4 import QtGui, QtCore import math _parts = 9 def pos(angle, size, elipsSize): x0 = y0 = (size / 2) - (elipsSize / 2) rad = size / 2 - 120 x = x0 + (math.cos(angle) * rad) y = y0 + (math.sin(angle) * rad) return (x, y) class Points(QtGui.QWidget): def __init__(self, parent=None): QtGui.QWidget.__init__(self, parent) self.size = 700 self.resize(self.size, self.size) self.ellipseSize = 50 def paintEvent(self, event): paint = QtGui.QPainter() paint.begin(self) paint.setPen(QtCore.Qt.red) for angle in range (0, _parts): y, x = pos(angle * (math.pi + math.pi) / _parts, self.size, self.ellipseSize) paint.drawEllipse(x, y, self.ellipseSize, self.ellipseSize) paint.end() app = QtGui.QApplication(sys.argv) dt = Points() dt.show() app.exec_()
Отредактировано Shaman (Фев. 16, 2014 22:58:54)
Офлайн
Если переделать ваш код:
import sys from PyQt4 import QtGui, QtCore import math def pos(angle, size, elipsSize): u""" точки на окружности """ x0 = y0 = (size / 2) - (elipsSize / 2) rad = size / 2 - 120 x = x0 + (math.cos(angle*0.666666666) * rad) y = y0 + (math.sin(angle*0.666666666) * rad) return (x, y) class Points(QtGui.QWidget): def __init__(self, parent=None): QtGui.QWidget.__init__(self, parent) self.size = 700 self.resize(self.size, self.size) self.ellipseSize = 50 def paintEvent(self, event): paint = QtGui.QPainter() paint.begin(self) paint.setPen(QtCore.Qt.red) for angle in range (0, 9): y, x = pos(angle, self.size, self.ellipseSize) paint.drawEllipse(x, y, self.ellipseSize, self.ellipseSize) paint.end() app = QtGui.QApplication(sys.argv) dt = Points() dt.show() app.exec_()
Офлайн
terabaytне точно. та да. надо учить. спасибо
Но это не точно
Отредактировано vrabey (Фев. 17, 2014 00:18:31)
Офлайн
Shaman
спасибо
Офлайн