我正在构建一个在BLE上工作的应用程序,我想制作一个闪烁的LED(蓝色),表明已建立连接。 如何制作一系列闪烁LED指示灯?
任何例子,参考将不胜感激。
答案 0 :(得分:0)
我假设您已经设法使用wxPython显示位图图像。你需要的是两张图片。一个用于未点亮的LED,另一个用于点亮的LED。
然后,使用wx.Timer超时闪烁间隔,比如说500ms。当计时器过去时,您可以交换图像。
您可能还想查看wx.lib.throbber
答案 1 :(得分:0)
你可以使用一些简单的StaticBox
来完成这项工作
import wx
import random
blues=['#0000ff','#4682b4','#00008b','#00bfff','#0d4f60']
class MainFrame(wx.Frame):
def __init__(self):
wx.Frame.__init__(self, None, title='Led')
panel = wx.Panel(self)
self.led1 = wx.StaticBox(panel, wx.ID_ANY, "", size=(20,20), pos=(10,10))
self.led2 = wx.StaticBox(panel, wx.ID_ANY, "", size=(20,20), pos=(31,10))
self.led3 = wx.StaticBox(panel, wx.ID_ANY, "", size=(20,20), pos=(52,10))
self.led4 = wx.StaticBox(panel, wx.ID_ANY, "", size=(20,20), pos=(73,10))
self.led5 = wx.StaticBox(panel, wx.ID_ANY, "", size=(20,20), pos=(94,10))
self.led1.SetBackgroundColour(blues[0])
self.led2.SetBackgroundColour(blues[1])
self.led3.SetBackgroundColour(blues[2])
self.led4.SetBackgroundColour(blues[3])
self.led5.SetBackgroundColour(blues[4])
self.counter = -5
self.timer = wx.Timer(self)
self.timer.Start(1000)
self.Bind(wx.EVT_TIMER, self.OnTimer)
self.Show()
def OnTimer(self, evt):
self.led1.SetBackgroundColour(random.choice(blues))
self.led2.SetBackgroundColour(random.choice(blues))
self.led3.SetBackgroundColour(random.choice(blues))
self.led4.SetBackgroundColour(random.choice(blues))
self.led5.SetBackgroundColour(random.choice(blues))
if __name__ == '__main__':
app = wx.App()
frame = MainFrame()
app.MainLoop()