我可以在单个 Gtk.DrawingArea 中绘制,但是当我尝试为许多(例如 50 个)绘制时,我在绘制时遇到了一些错误。
这是您需要检查的代码:
def aggiorna(self, args=()):
import random
import time
while True:
for i in self.indirizzi_ip:
self.r=random.randint(0,10)/10.0
self.g=random.randint(0,10)/10.0
self.b=random.randint(0,10)/10.0
self.cpu_info[i]['drawing_area'].show() #the drawing happens here
time.sleep(1)
def __draw(self, widget, context): #connected to Gtk.DrawingArea.show()
context.set_source_rgb(self.r, self.g, self.b) #random
context.rectangle(0, 0, widget.get_allocated_width(), widget.get_allocated_height())
context.fill()
1) 为什么我在绘图时会出错?
2) 为什么 Gtk.DrawingArea(s) 只有在我更新窗口时才会改变颜色(例如,我从程序切换到 Gtk.DrawingArea 窗口)?
3) 为什么我不能为每个 Gtk.DrawingArea 获得随机颜色?