python和c#做一个简单的有铃声的定时闹钟

1 篇文章 0 订阅

思路

简单的说就是用Python做一个定时器和c#做一个播放音乐的框体,这个定时器会根据当前的时间去和你设定的时间去匹配,当匹配得上的时候,就会去执行c#框体所生成的exe可执行文件的程序,这时就会有音乐循环响起,思路基本上就是这样。

语言及编辑的工具

语言:python语言、c#语言
工具:IDLE(python 3.7 64-bit)、vs2013

步骤

建立一个播放音乐的宽体
首先先建立一个c#项目
点击:文件→新建→项目(弹出框体)然后修改文件名为clock
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
然后在form1的框体里面添加三个控件label(label控件可在左边的工具栏里直接搜索出来)然后点击label1控件在右下边的属性框里的text里修改为当前时间
在这里插入图片描述
点击label2在右下角的属性框中的text将label2的字样删除
在这里插入图片描述
点击label3在右下角的属性框text中将猪快点起床…………(这里的文本可以根据自己的需求去写)
然后在添加一个播放音乐的播放器,这里我用到的是Windows media players这一控件,这控件是在菜单栏中的工具→选择工具箱选项→COM组件
在这里插入图片描述
在这里插入图片描述
在加个timer控件最后的布局就出来了
在这里插入图片描述
接下来就是往控件里面写代码了

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace clock
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
           
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            timer1.Interval=1000;//进行秒刷新一次
            timer1.Enabled = true;
            timer1.Start();
            //出去label背景的颜色//
            label1.BackColor = Color.Transparent;
            label2.BackColor = Color.Transparent;
            label3.BackColor = Color.Transparent;
            
            this.axWindowsMediaPlayer1.URL = ("D:\\闹钟2\\起床铃声.mp3");//给Windowsmediaplayer指定音乐播放路径
           
            
           
        }

        private void timer1_Tick(object sender, EventArgs e)
        {
            DateTime time = DateTime.Now;//获取当前时间
            label2.Text = time.ToString();//将当前时间显示在label2控件
            
        }

        private void label3_Click(object sender, EventArgs e)
        {
            
        }
    }
}

python做的定时器

import os
import sys
import time
import subprocess
from datetime import datetime
from tkinter import messagebox

if len(sys.argv) == 1:
    msg = input('请输入提示要做的事情\n')
    t = input('请输入到期时间, 格式:时:分:秒\n')

    hms = t.split(':') if ':' in t else t.split(':')
    h, m, s = hms

    h = 0 if int(h) >= 24 else int(h)
    m, s = min(int(m), 59), min(int(s), 59)

    now = datetime.now()
    nh, nm, ns = now.hour, now.minute, now.second

    counter = abs(h - nh) * 60 * 60 + (m - nm) * 60 + (s - ns)

    subprocess.Popen(['pythonw', __file__, msg, str(counter)])

else:
    time.sleep(int(sys.argv[2]))
    
    main = "D:\clock\clock.exe"
    f = os.popen(main)    
    data = f.readlines()    
    f.close()    
    print (data)

运行结果

在这里插入图片描述
到时候就会弹出form1窗体音乐响起
在这里插入图片描述

链接:https://pan.baidu.com/s/1tmvfw_GHY5n7AzLgF5pdRw
提取码:bj1o

  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值