@@ -107,6 +107,12 @@ class CircleLineWindow(QWidget):
107107
108108 def __init__ (self , * args , ** kwargs ):
109109 super (CircleLineWindow , self ).__init__ (* args , ** kwargs )
110+ # 设置背景颜色
111+ palette = self .palette ()
112+ palette .setColor (palette .Background , backgroundColor )
113+ self .setAutoFillBackground (True )
114+ self .setPalette (palette )
115+ # 获取屏幕大小
110116 geometry = QApplication .instance ().desktop ().availableGeometry ()
111117 self .screenWidth = geometry .width ()
112118 self .screenHeight = geometry .height ()
@@ -143,9 +149,6 @@ def paintEvent(self, event):
143149 painter = QPainter (self )
144150 painter .setRenderHint (QPainter .Antialiasing )
145151 painter .setRenderHint (QPainter .SmoothPixmapTransform )
146- painter .save ()
147- painter .fillRect (self .rect (), backgroundColor )
148- painter .restore ()
149152 self .draw (painter )
150153
151154 def draw (self , painter ):
@@ -162,9 +165,10 @@ def draw(self, painter):
162165 if self ._firstDraw :
163166 self ._firstDraw = False
164167 # 此处有个比例关系用于设置timer的时间,如果初始窗口很小,没有比例会导致动画很快
165- t = (time () - t ) * 1000
168+ t = (time () - t ) * 1000 * 2
166169 # 比例最大不能超过1920/800
167170 t = int (min (2.4 , self .screenHeight / self .height ()) * t ) - 1
171+ t = t if t > 15 else 15 # 不能小于15s
168172 print ('start timer(%d msec)' % t )
169173 # 开启定时器
170174 self ._timer .start (t )
0 commit comments