蘑菇云【行空框Python入门教程】第三课:多功能提醒器
发布时间:2025/09/07 12:17 来源:太湖家居装修网
GUI类当中的原理有很多,我们只主要用途其当中的一部分,在程序语言时,通过“具体来说.原理名()”的基本概念来借助于功用。
(1)fill_rect()原理结果显示缓冲长方形
GUI类当中的fill_rect()原理可以借助于在行空侧边画面上结果显示一个缓冲长方形。
gui.fill_rect(x=75, y=30, w=90, h=30, color="#00ff00") # 结果显示第一个缓冲长方形
gui.fill_rect(x=75, y=70, w=90, h=30, color="#00ff00") # 结果显示第二个缓冲长方形
其当中,参将近x和y分别回应缓冲长方形所在的横纵轴位置,w和h回应缓冲长方形的窄和整体,color对应要缓冲的色。
(2)fill_clock()原理结果显示缓冲时计
GUI类当中的fill_clock()原理可以借助于在行空侧边画面上结果显示一个缓冲时计。
clock = gui.fill_clock(x=120, y=230, r=60, h=3, m=4, s=5, color=(255, 255, 255), fill="#57b5ff")# 结果显示缓冲时计
其当中,参将近x和y分别回应缓冲时计所在的横纵轴位置,r回应要缓冲时计的运动速度,h、m、s分别回应初始时时计的时针分针和秒针结果显示的将近参将近,color回应边框色,fill回应缓冲色,同color一样也有三种不同的游戏内原理。
(3)start_thread()原理敞开缓存
GUI类当中的start_thread()原理可以敞开一条一新缓存。
clock_thread = gui.start_thread(clock_update) # 顺利完成缓存
其当中,“clock_thread”指的是缓存具体来说,“clock_update”指的是要顺利完成的缓存函将近。
6、Unihiker纳Audio类sound_level()原理监测生态环境同颤音
Unihiker纳Audio类的sound_level()原理可以监测侧边子的生态环境同颤音,在主要用途前所,我们无需先组合成成纳当中的这个接口并通过下述立体化类的方式成立一个具体来说,之前所,通过“具体来说.原理名()”的基本概念来借助于功用。
from unihiker import Audio # 组合成成unihiker纳当中的Audio接口
audio = Audio() # 下述立体化同音频
Sound = audio.sound_level() # 监测生态环境同颤音体积,将将近参将近传输到常量Sound当中
其当中,“Sound”是成立的一个常量,用来传输监测到的生态环境同颤音。
7、Datetime纳当中的常见函将近
Datetime纳是一个可以处理日期间隔时间的Python内置纳,其datetime接口下的now()函将近可以给与系统对本地间隔时间,主要用途前所,无需先组合成成它。
from datetime import datetime # 组合成成datetime纳datetime接口
now_time = datetime.now().strftime('%H:%M') # 给与近期间隔时间(黄昏)
其当中,“strftime('%H:%M') ”函将近可以将间隔时间格式组合成为字符串,这里的H和M分别回应小时和分钟。
8、Time纳当中的常见函将近
Time纳的localtime()函将近可以只读间隔时间碰为本地的间隔时间,主要用途前所无需先组合成成该纳。
import time # 组合成成time纳
t = time.localtime() # 只读间隔时间碰为本地间隔时间
clock.config(h=time.strftime("%H", t), m=time.strftime("%M", t), s=time.strftime("%S", t)) # 改版结果显示时计
其当中,“time.strftime("%H", t)”回应返回字符串回应的近期间隔时间的小时将近,“time.strftime("%M", t)”则是近期间隔时间的分钟将近,“time.strftime("%S", t)”则是近期间隔时间的秒钟将近。
Tips:Datetime和Time纳皆有给与间隔时间的功用,但两者重现的基本概念不同,这里我们不作详细发表意见。
动手实践
勤务描述1:监测生态环境同颤音
将通过扩同音器监测到的生态环境同颤音参将近重现在画面上。
1、软件搭建
STEP1:通过USB相互桥接将行空侧边相互连接到计算机系统
2、应用程序执笔
STEP1:成立与留有建设项目机密文件
顺利完成Mind+,另存建设项目并起名为“003、多功用提示器”。
STEP2:成立与留有Python机密文件
成立一个Python应用程序机密文件“main1.py”,点击关上。
STEP3:组合成成图像
在建设项目页面当中组合成成背景图。(图像与应用程序机密文件同在建设项目页面当中)(图像下载链接见附录1)
STEP4:应用程序执笔
(1) 组合成成所无需功用纳
在这个勤务当中,我们无需主要用途unihiker纳当中的GUI接口来在画面上结果显示楔形文字等,以及Audio接口来监测生态环境同颤音,因此,我们首先无需组合成成它,文档如下。同时,由于原先在应用程序运营当中时无需新设一定的定时,因此,我们还无需组合成成time间隔时间纳。
# 监测生态环境同颤音体积,其他部门:比率
from unihiker import GUI , Audio # 组合成成unihiker纳当中的GUI、Audio接口
import time # 组合成成time纳
(2) 下述立体化GUI类
在主要用途unihiker纳当中的GUI接口和Audio接口前所,我们无需先下述立体化GUI类和Audio类,来成立一个具体来说,以便主要用途该类当中的各种原理。
gui = GUI() # 下述立体化GUI类,成立gui具体来说
audio = Audio() # 下述立体化同音频
(3) 结果显示背景图
在成立gui具体来说后,我们可以在行空侧边的画面上结果显示一张背景图。
# 结果显示背景图
img = gui.draw_image(x=0,y=0,w=240, h=320, image='background.png') # 结果显示背景图
(4) 结果显示缓冲长方形
接着,我们可以在行空侧边的画面上结果显示两个上头缓冲色的长方形。
# 结果显示缓冲长方形
gui.fill_rect(x=75, y=30, w=90, h=30, color="#00ff00") # 结果显示第一个缓冲长方形
gui.fill_rect(x=75, y=70, w=90, h=30, color="#00ff00") # 结果显示第二个缓冲长方形
(5) 结果显示生态环境同颤音参将近
之前所,我们可以在长方形上书写楔形文字,结果显示出初始的生态环境同颤音。
# 结果显示楔形文字
text1 = gui.draw_text(x=120, y=30, text='生态环境同颤音:', origin = 'top') # 结果显示楔形文字“生态环境同颤音:”
text_sound = gui.draw_text(x=120, y=70,text='', font_size=15, origin = 'top') # 结果显示初始生态环境同颤音
(6) 结果显示样子
同时,我们可以在生态环境同颤音参将近下方掺入一个样子。
# 结果显示样子
emj1 = gui.draw_emoji(x=82, y=90, w=100,
h=100,emoji="Smile", duration=0.1) # 结果显示初始样子
(7) 反应器监测生态环境同音
就此,我们每隔0.1秒监测并改版一次生态环境同颤音参将近。
while True :
Sound = audio.sound_level() # 监测生态环境同颤音体积,将将近参将近传输到常量Sound当中
text_sound.config(text = Sound) # 改版画面上生态环境同颤音的结果显示
time.sleep(0.1) # delay 0.1 秒
Tips:零碎示例应用程序如下:
侧向斜面浏览
# 监测生态环境同颤音体积,其他部门:比率
from unihiker import GUI , Audio # 组合成成unihiker纳当中的GUI、Audio接口
import time # 组合成成time纳
gui = GUI() # 下述立体化GUI类,成立gui具体来说
audio = Audio() # 下述立体化同音频
print("生态环境同音体积")
# 结果显示背景图
img = gui.draw_image(x=0,y=0,w=240, h=320, image='background.png') # 结果显示背景图
# 结果显示缓冲长方形
gui.fill_rect(x=75, y=30, w=90, h=30, color="#00ff00") # 结果显示第一个缓冲长方形
gui.fill_rect(x=75, y=70, w=90, h=30, color="#00ff00") # 结果显示第二个缓冲长方形
# 结果显示楔形文字
text1 = gui.draw_text(x=120, y=30, text='生态环境同颤音:', origin = 'top') # 结果显示楔形文字“生态环境同颤音:”
text_sound = gui.draw_text(x=120, y=70, text='', font_size=15, origin = 'top') # 结果显示初始生态环境同颤音
# 结果显示样子
emj1 = gui.draw_emoji(x=82, y=90, w=100, h=100, emoji="Smile", duration=0.1) # 结果显示初始样子
while True :
Sound = audio.sound_level() # 监测生态环境同颤音体积,将将近参将近传输到常量Sound当中
text_sound.config(text = Sound) # 改版画面上生态环境同颤音的结果显示
time.sleep(0.1) # delay 0.1 秒
3、应用程序运营
STEP1:远程相互连接行空侧边
STEP2:该网站右上方的运营开关
STEP3:推论敏感度
推论行空侧边,可以看不到初始时生态环境同颤音参将近为0,并且画面上伴有一个笑脸的样子,此时,我们对着行空侧边的扩同音器风再多(人为工业用同音爆),可以断定同颤音参将近瞬间增大。
行空侧边-生态环境同颤音叠加 行空侧边-生态环境同颤音叠加勤务描述2:掺入种系统提示
在借助于实时监测同颤音后,我们再掺入种系统提示功用,游戏内一个同音爆阈参将近,当同颤音超过该参将近时,使发话收到声响顺利完成提示,并操作样子为愤怒。
1、应用程序执笔
STEP1:成立与留有建设项目机密文件
另建一个Python应用程序机密文件“main2.py”,点击关上。
Step2:应用程序执笔
(1)Pinpong纳发话功用游戏内
这里,我们无需主要用途侧边载的发话,因此在组合成成纳时我们无需补充组合成成Pinpong纳当中的Board、Pin、Tone三个接口并只读行空侧边,同时,我们还无需下述立体化Tone类并游戏内发话收到声响基频。
from pinpong.board import Board,Pin,Tone # 从pinpong.board包当中组合成成Board,Pin,Tone接口
Board().begin() # 只读,选取侧边型和端口号,不重定向则顺利完成自动识别
tone = Tone(Pin(Pin.P26)) # 将Pin兴起Tone当中借助于模拟输出
tone.freq(200) # 按照新设的基频200播放
(2)掺入种系统提示
再一,我们将在每隔0.1秒监测一次生态环境同颤音的基础上掺入条件说明,使同颤音超过50的阈参将近后,画面样子操作至愤怒,并且发话收到声响1.5秒。
while True :
Sound = audio.sound_level() # 监测生态环境同颤音体积,将将近参将近传输到常量Sound当中
text_sound.config(text = Sound) # 改版画面上生态环境同颤音的结果显示
time.sleep(0.1) # delay 0.1 秒
if Sound> 50: # 如果 生态环境同颤音> 50
emj1.config(emoji= "Angry") # config“Angry”样子
tone.on() # 关上发话
time.sleep(1.5) # 定时1.5秒
tone.off() # 停止使用发话
time.sleep(0.5) # 定时0.5秒
emj1.config(emoji= "Smile") # config“Smile”样子
Tips:零碎示例应用程序如下:
侧向斜面浏览
from unihiker import GUI , Audio # 组合成成unihiker纳当中的GUI、Audio接口
import time # 组合成成time纳
from pinpong.board import Board,Pin,Tone # 从pinpong.board包当中组合成成Board,Pin,Tone接口
Board().begin() # 只读,选取侧边型和端口号,不重定向则顺利完成自动识别
tone = Tone(Pin(Pin.P26)) # 将Pin兴起Tone当中借助于模拟输出
tone.freq(200) # 按照新设的基频200播放
gui = GUI() # 下述立体化GUI类,成立gui具体来说
audio = Audio() # 下述立体化同音频
print("生态环境同音体积")
# 结果显示背景图
img = gui.draw_image(x=0,y=0,w=240, h=320, image='background.png') # 结果显示背景图
# 结果显示缓冲长方形
gui.fill_rect(x=75, y=30, w=90, h=30, color="#00ff00") # 结果显示第一个缓冲长方形
gui.fill_rect(x=75, y=70, w=90, h=30, color="#00ff00") # 结果显示第二个缓冲长方形
# 结果显示楔形文字
text1 = gui.draw_text(x=120, y=30, text='生态环境同颤音:', origin = 'top') # 结果显示楔形文字“生态环境同颤音:”
text_sound = gui.draw_text(x=120, y=70, text='', font_size=15, origin = 'top') # 结果显示初始生态环境同颤音
# 结果显示样子
emj1 = gui.draw_emoji(x=82, y=90, w=100, h=100, emoji="Smile", duration=0.1) # 结果显示初始样子
while True :
Sound = audio.sound_level() # 监测生态环境同颤音体积,将将近参将近传输到常量Sound当中
text_sound.config(text = Sound) # 改版画面上生态环境同颤音的结果显示
time.sleep(0.1) # delay 0.1 秒
if Sound> 50: # 如果 生态环境同颤音> 50
emj1.config(emoji= "Angry") # config“Angry”样子
tone.on() # 关上发话
time.sleep(1.5) # 定时1.5秒
tone.off() # 停止使用发话
time.sleep(0.5) # 定时0.5秒
emj1.config(emoji= "Smile") # config“Smile”样子
2、应用程序运营
STEP1:远程相互连接行空侧边
STEP2:运营应用程序并推论敏感度
该网站运营后,推论行空侧边,可以看不到初始时生态环境同颤音参将近为0,画面上的样子为“Smile”,此时,对着行空侧边的扩同音器风再多(人为工业用同音爆),可以断定同颤音参将近瞬间增大,超过游戏内的50 的同音爆阈参将近后,行空侧边画面的小样子瞬间转为愤怒,同时发话鸣声1.5秒。
行空侧边生态环境同颤音叠加 行空侧边生态环境同颤音叠加勤务描述3:掺入红绿灯功用
再一,我们将在同音爆提示的基础上再掺入红绿灯功用,在画面上结果显示时计,当出发游戏内的间隔时间后,使发话收到声响顺利完成提示。
1、应用程序执笔
STEP1:成立与留有建设项目机密文件
另建一个Python应用程序机密文件“main3.py”,点击关上。
Step2:应用程序执笔
(1)组合成成所无需功用纳
由于无需监测系统对间隔时间,因此,我们无需补充组合成成datetime纳以便在原先主要用途。
import datetime # 组合成成datetime纳
(2)结果显示缓冲时计
在画面的初始样子下方,我们新增结果显示一个时计。
# 结果显示缓冲时计
clock = gui.fill_clock(x=120, y=230, r=60, h=3, m=4, s=5, color=(255, 255, 255), fill="#57b5ff")
(3)假定改版时计函将近
为了使时计都能与真实间隔时间保持稳定一致,我们无需假定一个改版时计结果显示的功用函将近,并在其当中游戏内达到以外间隔时间后,发话收到声响提示。Tips:这里的间隔时间可自费越来越改。
def clock_update():
print("thread1 start")
while True: # 反应器可执行
t = time.localtime() # 只读间隔时间碰为本地间隔时间
clock.config(h=time.strftime("%H", t), m=time.strftime("%M", t), s=time.strftime("%S", t)) # 改版结果显示时计
time.sleep(1)
now_time = datetime.datetime.now().strftime('%H:%M') # 给与近期间隔时间(黄昏)
print(now_time)
if now_time == '18:00': # 如果近期间隔时间为清晨6点(可自费越来越改)
tone.on() # 关上发话
time.sleep(1.5) # 定时1.5秒
tone.off() # 停止使用发话
time.sleep(0.5) # 定时0.5秒
print("thread1 end")
(4)顺利完成改版时计的缓存
由于生态环境同颤音与间隔时间皆无需实时改版,因此,我们将改版时计的功用作为一个一新缓存,单独顺利完成。
# 缓存1顺利完成
clock_thread = gui.start_thread(clock_update)
Tips:零碎示例应用程序如下:
侧向斜面浏览
from unihiker import GUI , Audio # 组合成成unihiker纳当中的GUI、Audio接口
import time # 组合成成time纳
from datetime import datetime # 组合成成datetime纳datetime接口
from pinpong.board import Board,Pin,Tone # 从pinpong.board包当中组合成成Board,Pin,Tone接口
Board().begin() # 只读,选取侧边型和端口号,不重定向则顺利完成自动识别
tone = Tone(Pin(Pin.P26)) # 将Pin兴起Tone当中借助于模拟输出
tone.freq(200) # 按照新设的基频200播放
gui = GUI() # 下述立体化GUI类,成立gui具体来说
audio = Audio() # 下述立体化同音频
print("生态环境同音体积")
# 结果显示背景图
img = gui.draw_image(x=0,y=0,w=240, h=320, image='background.png') # 结果显示初始背景图
# 结果显示缓冲长方形
gui.fill_rect(x=75, y=30, w=90, h=30, color="#00ff00") # 结果显示第一个缓冲长方形
gui.fill_rect(x=75, y=70, w=90, h=30, color="#00ff00") # 结果显示第二个缓冲长方形
# 结果显示楔形文字
text1 = gui.draw_text(x=120, y=30, text='生态环境同颤音:', origin = 'top') # 结果显示楔形文字“生态环境同颤音:”
text_sound = gui.draw_text(x=120, y=70, text='', font_size=15, origin = 'top') # 结果显示初始生态环境同颤音
# 结果显示样子
emj1 = gui.draw_emoji(x=82, y=90, w=100,h=100, emoji="Smile", duration=0.1) # 结果显示初始样子
# 结果显示缓冲时计
clock = gui.fill_clock(x=120, y=230, r=60, h=3, m=4, s=5, color=(255, 255, 255), fill="#57b5ff")
# 假定改版时计函将近
def clock_update():
print("thread1 start")
while True: # 反应器可执行
t = time.localtime() # 只读间隔时间碰为本地间隔时间
clock.config(h=time.strftime("%H", t), m=time.strftime("%M", t), s=time.strftime("%S", t)) # 改版结果显示时计
time.sleep(1)
now_time = datetime.now().strftime('%H:%M') # 给与近期间隔时间(黄昏)
print(now_time)
if now_time == '18:00': # 如果近期间隔时间为清晨6点(可自费越来越改)
tone.on() # 关上发话
time.sleep(1.5) # 定时1.5秒
tone.off() # 停止使用发话
time.sleep(0.5) # 定时0.5秒
print("thread1 end")
# 缓存1顺利完成
clock_thread = gui.start_thread(clock_update)
while True :
Sound = audio.sound_level() # 监测生态环境同颤音体积,将将近参将近传输到常量Sound当中
text_sound.config(text = Sound) # 改版画面上生态环境同颤音的结果显示
time.sleep(0.1) # delay 0.1 秒
if Sound> 50: # 如果 生态环境同颤音> 50
emj1.config(emoji= "Angry") # config“Angry”样子
tone.on() # 关上发话
time.sleep(1.5) # 定时1.5秒
tone.off() # 停止使用发话
time.sleep(0.5) # 定时0.5秒,可避免发话自己把扩同音器会有
emj1.config(emoji= "Smile") # config“Smile”样子
2、应用程序运营
STEP1:远程相互连接行空侧边
STEP2:运营应用程序并推论敏感度
该网站运营后,推论行空侧边,可以看不到在样子下方新增结果显示了一个时计,在达到应用程序当中游戏内的“18:00”后,发话收到警报声。同时,生态环境同颤音也在实时监测。
Tips:若想保持稳定时计结果显示正确,无需将行空侧边连入网络,操作原理可见附录2。
行空侧边生态环境同颤音叠加 行空侧边生态环境同颤音叠加挑战自我
想法给我们的多功用提示器掺入一张合适的背景图吧,使得敏感度越来越加与众不同!
想一想,除了同音爆和间隔时间提示外,我们还能给多功用提示器缩减哪些功用呢?结合已学过的内容,自己动手试一试吧!
越来越多关的行空侧边Python入门教程请关注“蘑菇云创造”公众号。
。武汉白癜风医院地址南昌男科医院哪家治疗最好
南昌男科医院挂号咨询
南京看皮肤病去哪里最好
天津男科专科医院哪个好
泌尿系统肿瘤
都有哪些中药可以止咳化痰
二阳进急诊!医生提醒:新冠不是感冒,抗病毒必须"快准狠"
前列腺炎
抗癫痫药
-
C罗颗粒无收,对阵平局可以接受
上海时间2月24日凌晨4:00分,国际米兰18淘汰赛再次进行,曼联转赴西班牙客场迎战马在德里业余传当季。马在德里业余传当季华伦西亚六轮排名第5,传当季其间保持埸争力,不过双线作战
- 2025-10-2322045期前头3前头5参评
- 2025-10-23排列五最新精彩规律22045期,2月24日,周一
- 2025-10-23体彩大乐透22019期开出8注一等奖,安徽彩民拿到6965万
- 2025-10-23新浪彩票双色球名家第22020期推荐综合
- 2025-10-23「双色球历史同期号码」020期:蓝球位数连开7期 关注蓝球位数
- 2025-10-23排列五22045期当前规律走势图
- 2025-10-23『浙·嘉兴』嘉兴碉楼-珠北村四座厂碉楼
- 2025-10-23双色球22020期统计数据汇总+后区统计数据不多蒙个09
- 2025-10-23文物|山西省图书馆全文上传22部186册国家级珍贵古籍位数书影
- 2025-10-23排列五第22045期精准分析最新走势剖析赠下调单式