我试图在Pyqt5中创建Conway的生命游戏,但不确定如何更新我的网格以更改特定单元格的颜色。 我的程序有一个GUI类、board类和一个生命体类。此方法在具有生命形式的类中。我应该在GUI类之外创建另一个paintevent吗?我是否为GUI创建了一些我应该引用的对象(当我对自己说这个方法没有意义,因为为GUI外部引用的GUI创建一个对象似乎是一个糟糕的设计,但是idk)我在下面发布了我的方法,因为我觉得我的问题可能并不复杂,我只是遗漏了一些东西
def paintWhite(self): #LifeForm Class
screensize = QDesktopWidget().screenGeometry()
cellwidth = screensize.width()//GLOBAL_N #GlobalN x GlobalN grid
cellheight = screensize.height()//GLOBAL_N
paintObject = QPainter()
paintObject.setPen(QPen(Qt.white, 5, Qt.SolidLine))
paintObject.setBrush(QColor(255,255,255))
paintObject.drawRect(cellwidth * self.row, cellheight * self.col, cellwidth,cellheight)
#Seperate Code Snippets
def paintEvent(self,e): #Gui Class
paintObject = QPainter(self)
paintObject.setPen(QPen(Qt.black, 5, Qt.SolidLine))
paintObject.setBrush(QColor(0,0,0))
n=50
for i in range(n):
for j in range(n):
x = paintObject.drawRect(self.width//n*i, self.height//n*j, self.width//n,self.height//n)
只是颜色没有变化。谢谢你的帮助
目前没有回答
相关问题 更多 >
编程相关推荐