Не пойму как работает метод рисования линий PyQt draw lines
Рисую поле расчерченое в клетку. Нарисовал косую линию. Получилось норм.
Далее решил разлиновать поле. И тут сел.
Подскажите где я накосячил?
import math
import sys
from PyQt5.uic import *
from PyQt5.QtCore import Qt
from PyQt5.QtGui import QBrush, QPainter, QPen
from PyQt5.QtWidgets import *
from PyQt5.QtCore import *
from PyQt5.QtGui import *
class Window(QWidget):
def __init__(self):
super().__init__()
self._COLOR_BACKGROUND = QColor("#363636")
self.initUI()
def initUI(self):
self.GRID_SIZE = 20
self._color_light = QColor("#2f2f2f")
self._color_dark = QColor("#292929")
self._pen_light = QPen(self._color_light)
self._pen_light.setWidth(1)
self._pen_dark = QPen(self._color_dark)
self._pen_dark.setWidth(2)
self.setWindowTitle("Node")
self.setGeometry(0,0,400,200)
self.scene_width, self.scene_height = 64000, 64000
self.layout = QVBoxLayout()
self.layout.setContentsMargins(0, 0, 0, 0)
self.setLayout(self.layout)
self.grScene = QGraphicsScene()
self.view = QGraphicsView()
self.view.setBackgroundBrush(self._COLOR_BACKGROUND)
self.layout.addWidget(self.view)
self.view.setScene(self.grScene)
self.grScene.addLine(0,0,100, 200)
self.painter = QPainter()
lines_light, lines_dark = [], []
for x in range(0, self.scene_width, self.GRID_SIZE):
lines_light.append(QLine(x, 0, x, self.scene_width))
print(*lines_light)
self.painter.setPen(self._pen_light)
self.painter.drawLines(*lines_light)
if __name__ == '__main__':
app = QApplication(sys.argv)
w = Window()
w.show()
app.exec()
Источник: Stack Overflow на русском