看到有些博客上有这种样式的好看背景彩蛋,因此自己打算用qt去实现一下。这个样式的实现主要基于控件的重绘。
由于我的代码过长,在此我只贴一下核心代码。
def paintEvent(self, QEvent):
global x, y
print("重绘中···")
# x,y=(0,0)
painter = QPainter(self)
painter.setRenderHint(QPainter.Antialiasing, True) # 反锯齿
# painter.setPen(QColor(0,0,0,0))
painter.setBrush(QColor(255, 255, 255))
painter.drawRoundedRect(0, 0, self.width(), self.height(), 6, 6)
# painter.drawLine(0,0,100,100)
if x==0 and y==0:
print('x=0,y=0')
#print('还在画')
pass
else:
if x<0 or x>self.width() or y<0 or y>self.height():
pass
else:
painter.drawLine(0, 0, x, y)
painter.drawLine(0, self.height(), x, y)
painter.drawLine(self.width(), 0, x, y)
painter.drawLine(self.width(), self.height(), x, y)
反正没人看,要全部代码的评论区说。