Python做的闹钟如何在手机闹铃软件上运行

为什么华为手机上实现闹钟这么麻烦【wp7吧】_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:304,544贴子:
为什么华为手机上实现闹钟这么麻烦收藏
这里不是想喷华为的意思。
公司做了一个类似生活助手的app。
等到快发布了才发现之前写的闹钟功能在华为手机上不响。 好像是什么7e还是什么7s,8.0的系统,于是让我去研究下。
研究了2天,折腾了好多种方式,。 但是***为什么华为的手机server会在锁屏后好像被冻结了一样。 我试过定时器,线程,alarmmanager,好像在锁屏后都不能去定时执行任务。 而在谷歌的8.0模拟器上屁事没有,我的zuk也是没问题。
感觉华为是在底层修改过什么东西?
连alermmanager都不行。
真j儿恶心。
大佬们有做过android开发的,遇到过么?
实测连中华万年历把电池内的后台运行换了,它的闹钟也不响。
wp手机,苏宁易购天天爆款,嗨抢不止!正品低价,专业综合网上商城,优惠不停歇!wp手机,,全国联保,支持货到付款,苏宁易购7x24小时为您提供优质服务!
你用华为给的开发者工具就可以了,华为确实不底层捣鼓得一点都不谷歌了
现在还有用app设闹钟而不是用手机自带设闹钟的人?
虽然说红米4a 在服务内启动的定时器和线程都不能在锁屏下稳定工作,但是alarmmanager却是能够稳定打印log的, 华为直接什么都不打印
省电精灵:我考虑下背不背这个锅
魔改UI,和国内毒瘤军备竞赛的结果
自带的闹钟没试过不响,第三方的没用过不懂
手机不是自带闹钟么。。。
感觉华为外表像原声,其实魔改的最多的,去google外国佬均说没遇到过, 因为人家根本不用国产手机,而且人家开发应用也按照规范来,
无解了,感觉。
我即使和给了后台权限,华为也是有时候可以,有时候又不行,没个规律现象,很烦
哈哈哈,就是这么**,华为杀进程严重
现在还有人用第三方闹钟?
你这个需求太小众了吧,玩机的买什么华为。。。。
设置后台保护?
华为用智行 闹钟貌似没有问题?多研究研究,这样的吐槽没啥意义
没遇到过这种问题
华为的系统这不行,那不行的,看6.6吧
你这标题,我还以为华为手机闹钟都不能用了
我还以为是华为的闹钟不能用
这个需要赞一下华为,管你什么毒瘤,直接冻结在后台。
不懂,我用alarmmanager定时,只要手机息屏了,就不工作了
顺便找到解决方案的时候也告知我一下解决方法
xposed edge这个定时任务倒是很准。不知道这个xposed插件怎么弄的定时。
好奇葩的样子
虽然我不懂,但还是要说,华为垃圾
日程里加任务就好了
看起来你还在,其实你已经死了懂吗
看不懂你想表达什么,自带闹钟没有问题
想偷偷自启,华为打的就是你们这批人,毒瘤好好待着
登录百度帐号学完python你也可以用它做个高级闹钟——西安北邮在线
音频文件放入和.py文件同级的目录下
这是简单的闹钟做法,市场上闹钟千千万万,但是自己写出来的闹钟就是不一样,不是小编我无聊,学习乐趣就是这样慢慢培养的。(跑题了抱歉)
那么怎样用python创建一个简单的报警呢?
先说说这个警报器的功能
它可以运行在命令行终端,它需要分钟做为命令行参数,在这个分钟后会打印”wake-up”消息,并响铃报警,你可以用0分钟来测试,它会立即执行,用扬声器控制面板调整声音。
SND_FILENAME
sound 参数是一个 WAV 文件的名称。不使用 SND_ALIAS。
sound 参数是注册表中一个声音组合的名称。如果注册表没有包含这样的名称,播放系统缺省的声音除非 SND_NODEFAULT 也被指定。如果没有缺省的声音被注册,挂起 RuntimeError。不使用 SND_FILENAME。
Beep(frequency, duration)
蜂鸣PC的喇叭。 frequency 参数指定声音的频率,以赫兹,并且必须是在 37 到 32,767
的范围之中。duration 参数指定声音应该持续的毫秒数。如果系统不能蜂鸣喇叭,挂起 RuntimeError。注意:Windows 95 和 98下,Windows Beep() 函数存在但是无效的(它忽略它的参数)。这种情况下Python通过直接的端口操作模拟它(2.1版本中增加的)。不知道是否在所有的系统上都工作。 1.6版本中的新特性。
PlaySound(sound, flags)
从平台 API 中调用 PlaySound() 函数。sound 参数必须是一个文件名,音频数据作为字符串,或为 None。它的解释依赖于 flags 的值,该值可以是一个位方式或下面描述的变量的组合。如果系统显示一个错误,挂起 RuntimeError 。
责任编辑:
声明:该文观点仅代表作者本人,搜狐号系信息发布平台,搜狐仅提供信息存储空间服务。
北邮在线,教育引领未来!
颈椎病,肩周炎腰间盘突出,坐骨神经痛,骨质增生,一贴见效,微信:
今日搜狐热点利用QT写一个极简单的图形化Python闹钟程序
转载 &更新时间:日 16:02:38 & 投稿:goldensun
这篇文章主要介绍了利用QT写一个极简单的图形化Python闹钟程序,核心代码只有25行,显示屏幕提示而没有闹铃声音,需要的朋友可以参考下
今天我们讲一下用Python写的GUI小程序。一个小闹钟(只是屏幕提示,没有声音哦)
让我们先介绍这个闹钟如何奇葩。
需要通过命令行启动。
没有标题栏。
甚至没有关闭按钮。
没有运行界面。
看到这里想必大家要问了,何必去做一个这样弱爆了的程序呢。显然,教育意义大于其实际用处。
像其他的模块一样,QT界面包是需要加载的。
我们用到了命令行输入,所以,sys模块也是必须的。
用到了时间,但是我们不需要使用time模块,我们用QT提供的QTime模块。
让我们先写import 语句部分。
import sys
from PyQt4.QtCore import *
from PyQt4.QtGui import *
app = QApplication(sys.argv)
这是一个控制qt程序命脉的类,之后我们会慢慢解释。在每一个Qt程序中,都会找到类似的语句。
之后就是输入闹钟时间了。上程序。
message = "Alert!"
if len(sys.argv) & 2:
raise ValueError
hours, mins = sys.argv[1].split(":")
due = QTime(int(hours), int(mins))
if not due.isValid():
raise ValueError
if len(sys.argv) & 2:
message = " ".join(sys.argv[2:])
except ValueError:
message = "Usage: alert.pyw HH:MM [optional message]"
其中包含了异常处理,对于一个应用程序,我们应该将所有的异常情况都考虑进去。
程序中使用raise 来触发异常。迫使程序进入我们的预想轨道。
显然,上面的程序是不够的,它并没有时间判断和GUI部分。
如何判断时间是否到了呢,我们给出一个不是特别准确的方法,定时判断。
import time
while QTime.currentTime() & due:
time.sleep(20)
当时间到了我们就会跳到下一步,创建一个窗体,延迟60s 后关闭。
label = QLabel("&font color=red size=72&&b&" + message + "&/b&&/font&")
label.setWindowFlags(Qt.SplashScreen)
label.show()
QTimer.singleShot(60000, app.quit) # 1 minute
app.exec_()
看来,我们又需要写一个关于 QTime模块的介绍了。
现在把所有的句子放在一起。让我们测试下。
附完整代码:
import sys
import time
from PyQt4.QtCore import *
from PyQt4.QtGui import *
app = QApplication(sys.argv)
message = "Alert!"
if len(sys.argv) & 2:
raise ValueError
hours, mins = sys.argv[1].split(":")
due = QTime(int(hours), int(mins))
if not due.isValid():
raise ValueError
if len(sys.argv) & 2:
message = " ".join(sys.argv[2:])
except ValueError:
message = "Usage: alert.pyw HH:MM [optional message]" # 24hr clock
while QTime.currentTime() & due:
time.sleep(20) # 20 seconds
label = QLabel("&font color=red size=72&&b&" + message + "&/b&&/font&")
label.setWindowFlags(Qt.SplashScreen)
label.show()
QTimer.singleShot(60000, app.quit) # 1 minute
app.exec_()
您可能感兴趣的文章:
大家感兴趣的内容
12345678910
最近更新的内容
常用在线小工具一般手机闹钟的设置方法
我的图书馆
一般手机闹钟的设置方法
&&&&&&& 1、开主菜单—工具—闹钟,用光标选中一个闹钟,点击左下角编辑,进入编辑界面。  2、开始设置。从上至下介绍。  第一行,按动方向键左右键选择“开启”或“关闭”。  第二行,设定闹钟时间。  第三行,响铃周期。  按动方向键左右键选择“一次”、“每天”、“自定义”。  “一次”:就是到了设定的闹钟时间只响铃一次;  “每天”:就是每天到了设定的闹钟时间都会响铃;  “自定义”:就是自己可以自行设定一周里的某一天或者某几天响铃。  当选中“自定义”时,其下方的七个字母“S M T W T F S”(S M T W T F S,实际上是英文星期日至星期六的头一个字母,代表星期日至星期六)中的五个字母“ M T W T F ”(星期一至星期五)上会出现红色小方框,这实际上是手机默认的选择,即星期一至星期五闹钟响,双休日闹钟不响。  其设置方法如下:  一是,按动方向键上下键,移动光标至“S M T W T F S”;  二是,选择一周里的某一天或者某几天响铃。按动方向键左右键,把一个蓝色的小光标移动到最左边的“S”,点击屏幕左下方的文字或者按动左功能键,选择打开或者关闭,如果选择了打开,此时这个字母上会出现一个黄色的小方框,说明星期天到了设定的闹钟时间会响铃;如果选择关闭,此时这个字母上就没有一个黄色的小方框。继续向右移动蓝色光标至下一个字母,按照前面的方法设定。依次移动光标进行设置,直至字母“S”(星期六);  第四行,闹钟铃声。
  按动方向键左右键选择“铃声”或“FM广播”。  当选择“铃声”时,其下方会出现铃声的名称,把光标移动到铃声的名称,然后点击左下角选项,再按动方向键上下键,就可以选择和试听自己喜欢的闹铃音乐了。  第五行,贪睡时间(分)。  其分别是默认值和1~10,可以按动方向键左右键,根据自己的需要自行设置。  第六行,响铃方式。  其分别是“仅响铃”、“仅振动”、“振动及响铃”,可以按动方向键左右键,根据自己的需要自行设置。  3、点击屏幕右下下角完成或者按动右功能键,再点击屏幕左下角出现的“是”,就完成对闹钟的设置了。
  4、最后,再检查一下你选择的闹钟时间前面的方框里有没有一个小勾,如果有小勾就是开启;如果没有小勾就是关闭。  至此,整个设置工作就结束了。
喜欢该文的人也喜欢永远不要说太晚了,学习的终极技能就是——活到老,学到老
pythonUI学习实践(1)制作自己的闹钟
看到网上的一个文章, 回头实践一下, 重新修改一下
先做出一个实时显示时间的把
# -*- coding: utf-8 -*-
from Tkinter import *
def showCurrentTime(master):
'''显示当前时间'''
lbCurrentTime = Label(master,text = 'Current Time:')
lbCurrentTime.grid(row = 0,column = 0,
columnspan = 2,
stick = W)
master.vCurrentTime = StringVar()
master.etCurrentTime = Entry(master,textvariable = master.vCurrentTime,state = 'readonly')
master.etCurrentTime.grid(row = 0,column = 2,
columnspan = 4,
stick = S + N + E + W)
def updateTime(master):
'''时钟回调函数,用于更新当前时间;
import time
now = time.localtime(time.time())
t = '%d:%d:%d' % (now[3],now[4],now[5])
master.vCurrentTime.set(t)
root.after(10,updateTime,master)
root = Tk()
showCurrentTime(root)
root.after(10,updateTime,root)
root.mainloop()
完整版的需要修改
# -*- coding: utf-8 -*-
'''一个时钟程序'''
def createAlarm(master):
''' 创建时间选择组件,包括小时、分钟、秒
系统默认的时间设置为当前的事件'''
import time
now = time.localtime(time.time())
lfAlarm = LabelFrame(text = 'Add you alarm')
master.vHour = StringVar()
master.vHour.set(now[3])
Label(lfAlarm,text = 'Hour:').grid(row = 0,column = 0)
master.omHour = apply(OptionMenu,(lfAlarm,master.vHour) + tuple(range(0,24)))
master.omHour.grid(row = 0,column = 1)
master.vMinute = StringVar()
master.vMinute.set(now[4])
Label(lfAlarm,text = 'Minute:').grid(row = 0,column = 2)
master.omMinute = apply(OptionMenu,(lfAlarm,master.vMinute) + tuple(range(0,60)))
master.omMinute.grid(row = 0,column = 3)
master.vSecond = StringVar()
master.vSecond.set(now[5])
Label(lfAlarm,text = 'Second:').grid(row = 0,column = 4)
master.omSecond = apply(OptionMenu,(lfAlarm,master.vSecond) + tuple(range(0,60)))
master.omSecond.grid(row = 0,column = 5)
lfAlarm.grid(row = 1,column =0,columnspan = 6)
def addAlarm(master):
'''将当前的设置添加为一个提醒
设置最后一个为激活态
选中最后一个'''
master.lbAlarm.insert(END,master.vHour.get() + ':' + master.vMinute.get() + ':' + master.vSecond.get())
master.lbAlarm.selection_clear(0,END)
master.lbAlarm.selection_set(END)
master.lbAlarm.activate(END)
def deleteAlarm(master):
'''删除一个提醒'''
master.lbAlarm.delete(ACTIVE)
if master.lbAlarm.size() & 0:
master.lbAlarm.selection_set(ACTIVE)
def modifyAlarm(master):
'''修改提醒,
删除原来的提醒,添加一个新的提醒,索引使用原来'''
t = master.vHour.get() + ':' + master.vMinute.get() + ':' + master.vSecond.get()
n = master.lbAlarm.curselection()
master.lbAlarm.delete(n)
master.lbAlarm.insert(n,t)
master.lbAlarm.selection_set(n)
def createAlarmList(master):
'''创建提醒列表,目前所有可用的提醒均显示在这里'''
master.lbAlarm = Listbox(master)
master.lbAlarm.grid(row = 3,column = 0,
columnspan = 4,rowspan = 3,
stick = S + N + E + W)
def createOperation(master):
'''创建操作列表,对提醒列表中的提醒进行添加、修改或删除'''
Button(master,text = 'Add alarm',
command = lambda arg = master:addAlarm(arg)
row = 3,column = 4,
columnspan = 2,
stick = S + N + E + W)
Button(master,text = 'Modify alarm',
command = lambda arg = master:modifyAlarm(arg)
row = 4,column = 4,
columnspan = 2,
stick = S + N + E + W)
Button(master,text = 'Delete alarm',
command = lambda arg = master:deleteAlarm(arg)
).grid(row = 5,column = 4,
columnspan = 2,
stick = S + N + E + W)
def showCurrentTime(master):
'''显示当前时间'''
lbCurrentTime = Label(master,text = 'Current Time:')
lbCurrentTime.grid(row = 0,column = 0,
columnspan = 2,
stick = W)
master.vCurrentTime = StringVarss()
master.etCurrentTime = Entry(master,textvariable = master.vCurrentTime,state = 'readonly')
master.etCurrentTime.grid(row = 0,column = 2,
columnspan = 4,
stick = S + N + E + W)
def updateTime(master):
'''时钟回调函数,用于更新当前时间;
判断是否满足提醒条件'''
import time
now = time.localtime(time.time())
t = '%d:%d:%d' % (now[3],now[4],now[5])
master.vCurrentTime.set(t)
for item in master.lbAlarm.get(0,END):
if str(item) == t:
# 如果当前时间与提醒列表中的一致,打印
print 'you have a alarm',item
root.after(100,updateTime,master)
from Tkinter import *
root = Tk()
showCurrentTime(root)
createAlarm(root)
createAlarmList(root)
createOperation(root)
# 将检测周期设置为100ms
root.after(100,updateTime,root)
root.mainloop()
没有更多推荐了,}

我要回帖

更多关于 手机闹钟软件哪个好 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信