
import wx
import math
import time
import pyaudio
import wave
import wx.lib.filebrowsebutton
from multiprocessing import Process
import pyperclip
import pyautogui
import win32gui
import re
import win32con
import time
import webbrowser as web
from selenium import webdriver
class MyCalculator(wx.Frame):
def init(self):
super().init(parent=None, title=“”, size=(835, 1020),
style=wx.DEFAULT_FRAME_STYLE^(wx.MAXIMIZE_BOX))
self.Center()
panel = wx.Panel(parent=self)
panel.SetBackgroundColour(‘grey’)
panel.Center()
font = wx.Font(16, wx.ROMAN, wx.NORMAL, wx.BOLD, underline=False)
self.boxsize = wx.GridBagSizer(5,5)
self.equation = ""
self.result = 0
self.ResultFlag = 0
line = wx.StaticLine(panel)
self.boxsize.Add(line, pos=(0, 0), span=(1, 15), flag=wx.EXPAND | wx.BOTTOM | wx.TOP)
text = wx.StaticText(panel, -1, label="发帖定时控制", style=wx.ALIGN_LEFT)
font1 = wx.Font(12, wx.ROMAN, wx.ITALIC, wx.NORMAL)
text.SetForegroundColour("white")
text.SetBackgroundColour("black")
font2 = wx.Font(18, wx.ROMAN, wx.ITALIC, wx.NORMAL)
text.SetFont(font2)
self.boxsize.Add(text, pos=(1, 0), span=(1, 15))
line = wx.StaticLine(panel)
self.boxsize.Add(line, pos=(2, 0), span=(1, 15), flag=wx.EXPAND | wx.BOTTOM | wx.TOP)
t = time.strftime("%H:%M:%S", time.localtime()) # 设置初始值
t = "当前时间:" + t
self.text1 = wx.StaticText(panel, -1, t)
font = wx.Font(22, wx.DEFAULT, wx.FONTSTYLE_NORMAL, wx.NORMAL, faceName="黑体")
self.text1.SetFont(font)
self.text1.SetForegroundColour("white")
self.timer = wx.Timer(self) # 创建一个计时器对象
self.Bind(wx.EVT_TIMER, self.Time, self.timer) # 绑定计时器事件
self.timer.Start(1000) # 计时器计时1秒
self.boxsize.Add(self.text1, pos=(3, 0), span=(1, 2))
textclk = wx.StaticText(panel, -1,label = "发帖时间1:", style=wx.ALIGN_LEFT | wx.ALIGN_CENTRE |wx.ALIGN_CENTRE_VERTICAL)
font = wx.Font(22, wx.DEFAULT, wx.FONTSTYLE_NORMAL, wx.NORMAL, faceName="黑体")
textclk.SetFont(font)
textclk.SetForegroundColour("white")
self.boxsize.Add(textclk, pos=(4, 0),flag=wx.TOP | wx.LEFT | wx.BOTTOM, span=(1, 1))
self.text_alarm_p1 = wx.TextCtrl(panel)
# self.text_alarm_p = wx.TextCtrl(panel, pos=(0, 0), style=wx.TE_READONLY)
self.text_alarm_p1.SetFont(font) # 文本框里面格式
self.text_alarm_p1.BackgroundColour = 'white'
self.boxsize.Add(self.text_alarm_p1, pos=(4,1),span=(1,3),flag=wx.EXPAND | wx.LEFT | wx.RIGHT, border=5)
textclk = wx.StaticText(panel, -1,label = "(模块1)", style=wx.ALIGN_LEFT | wx.ALIGN_CENTRE |wx.ALIGN_CENTRE_VERTICAL)
font = wx.Font(22, wx.DEFAULT, wx.FONTSTYLE_NORMAL, wx.NORMAL, faceName="黑体")
textclk.SetFont(font)
textclk.SetForegroundColour("white")
self.boxsize.Add(textclk, pos=(4, 4),flag=wx.TOP | wx.LEFT | wx.BOTTOM, span=(1, 1))
self.time_button = wx.Button(panel, wx.ID_ANY, "RUN")
font2 = wx.Font(18, wx.ROMAN, wx.ITALIC, wx.NORMAL)
self.time_button.SetFont(font2)
self.boxsize.Add(self.time_button,pos=(4, 5) , span=(3,3), flag=wx.EXPAND | wx.LEFT | wx.RIGHT, border=5)
self.time_button.Bind(wx.EVT_BUTTON, self.run)
textclk = wx.StaticText(panel, -1,label = "发帖时间2:", style=wx.ALIGN_LEFT | wx.ALIGN_CENTRE |wx.ALIGN_CENTRE_VERTICAL)
font = wx.Font(22, wx.DEFAULT, wx.FONTSTYLE_NORMAL, wx.NORMAL, faceName="黑体")
textclk.SetFont(font)
textclk.SetForegroundColour("white")
self.boxsize.Add(textclk, pos=(5, 0),flag=wx.TOP | wx.LEFT | wx.BOTTOM, span=(1, 1))
self.text_alarm_p = wx.TextCtrl(panel, pos=(0, 0))
self.text_alarm_p.SetFont(font) # 文本框里面格式
self.text_alarm_p.BackgroundColour = 'white'
self.boxsize.Add(self.text_alarm_p, pos=(5,1),span=(1,3),flag=wx.EXPAND | wx.LEFT | wx.RIGHT, border=5)
textclk = wx.StaticText(panel, -1,label = "(模块2)", style=wx.ALIGN_LEFT | wx.ALIGN_CENTRE |wx.ALIGN_CENTRE_VERTICAL)
font = wx.Font(22, wx.DEFAULT, wx.FONTSTYLE_NORMAL, wx.NORMAL, faceName="黑体")
textclk.SetFont(font)
textclk.SetForegroundColour("white")
self.boxsize.Add(textclk, pos=(5, 4),flag=wx.TOP | wx.LEFT | wx.BOTTOM, span=(1, 1))
textclk = wx.StaticText(panel, -1,label = "发帖时间3:", style=wx.ALIGN_LEFT | wx.ALIGN_CENTRE |wx.ALIGN_CENTRE_VERTICAL)
font = wx.Font(22, wx.DEFAULT, wx.FONTSTYLE_NORMAL, wx.NORMAL, faceName="黑体")
textclk.SetFont(font)
textclk.SetForegroundColour("white")
self.boxsize.Add(textclk, pos=(6, 0),flag=wx.TOP | wx.LEFT | wx.BOTTOM, span=(1, 1))
self.text_alarm_p = wx.TextCtrl(panel, pos=(0, 0))
self.text_alarm_p.SetFont(font) # 文本框里面格式
self.text_alarm_p.BackgroundColour = 'white'
self.boxsize.Add(self.text_alarm_p, pos=(6,1),span=(1,3),flag=wx.EXPAND | wx.LEFT | wx.RIGHT, border=5)
textclk = wx.StaticText(panel, -1,label = "(模块3)", style=wx.ALIGN_LEFT | wx.ALIGN_CENTRE |wx.ALIGN_CENTRE_VERTICAL)
font = wx.Font(22, wx.DEFAULT, wx.FONTSTYLE_NORMAL, wx.NORMAL, faceName="黑体")
textclk.SetFont(font)
textclk.SetForegroundColour("white")
self.boxsize.Add(textclk, pos=(6, 4),flag=wx.TOP | wx.LEFT | wx.BOTTOM, span=(1, 1))
line = wx.StaticLine(panel)
self.boxsize.Add(line, pos=(7, 0), span=(1, 15), flag=wx.EXPAND | wx.BOTTOM | wx.TOP)
text = wx.StaticText(panel, -1,label = "发帖信息输入", style=wx.ALIGN_LEFT)
font1 = wx.Font(12, wx.ROMAN, wx.ITALIC, wx.NORMAL)
text.SetForegroundColour("white")
text.SetBackgroundColour("black")
font2 = wx.Font(18, wx.ROMAN, wx.ITALIC, wx.NORMAL)
text.SetFont(font2)
self.boxsize.Add(text, pos=(8, 0), span=(1, 15))
line = wx.StaticLine(panel)
self.boxsize.Add(line, pos=(9, 0), span=(1, 15), flag=wx.EXPAND | wx.BOTTOM | wx.TOP)
textclk = wx.StaticText(panel, -1,label = "发帖标题:", style=wx.ALIGN_LEFT | wx.ALIGN_CENTRE |wx.ALIGN_CENTRE_VERTICAL)
font = wx.Font(22, wx.DEFAULT, wx.FONTSTYLE_NORMAL, wx.NORMAL, faceName="黑体")
textclk.SetFont(font)
textclk.SetForegroundColour("white")
self.boxsize.Add(textclk, pos=(10, 0),flag=wx.TOP | wx.LEFT | wx.BOTTOM, span=(1, 1))
tc4 = wx.TextCtrl(panel, style=wx.TE_MULTILINE)
self.boxsize.Add(tc4, pos=(11, 0), span=(4, 14), flag=wx.EXPAND, border=5)
textclk = wx.StaticText(panel, -1,label = "发帖正文:", style=wx.ALIGN_LEFT | wx.ALIGN_CENTRE |wx.ALIGN_CENTRE_VERTICAL)
font = wx.Font(22, wx.DEFAULT, wx.FONTSTYLE_NORMAL, wx.NORMAL, faceName="黑体")
textclk.SetFont(font)
textclk.SetForegroundColour("white")
self.boxsize.Add(textclk, pos=(15, 0),flag=wx.TOP | wx.LEFT | wx.BOTTOM, span=(1, 1))
self.tc4 = wx.TextCtrl(panel, style=wx.TE_MULTILINE)
self.boxsize.Add(self.tc4, pos=(16, 0), span=(18, 14), flag=wx.EXPAND | wx.ALL, border=5)
# self.fbb = wx.lib.filebrowsebutton.FileBrowseButton(panel,fileMode = wx.FD_OPEN,labelText="音乐:",size = (280,-1), buttonText= "Browse2",initialValue = r"E:\Doctor_Chen\wav1.wav", fileMask="*.wav",labelWidth = 10)
# self.fbb.SetBackgroundColour("white")
#
#
# self.play_button = wx.Button(panel, wx.ID_ANY, "播放")
#
# self.boxsize.Add(self.fbb, pos=(16, 0), span=(1, 3), flag=wx.EXPAND | wx.LEFT | wx.RIGHT, border=5)
# self.boxsize.Add(self.play_button,pos=(16, 3) , flag=wx.EXPAND | wx.LEFT | wx.RIGHT, border=5)
#
# self.play_button.Bind(wx.EVT_BUTTON, self.onPlay)
#
#
# self.play_button = wx.Button(panel, wx.ID_ANY, "暂停")
# self.boxsize.Add(self.play_button,pos=(16, 4) , flag=wx.EXPAND | wx.LEFT | wx.RIGHT, border=5)
#
# self.type = ["单曲循环", "随机播放","循环播放"]
# xxx = wx.ComboBox(panel, -1, "单曲循环", choices=self.type)
# self.boxsize.Add(xxx, pos=(16, 5), span=(1, 1), flag=wx.EXPAND | wx.LEFT | wx.RIGHT, border=5)
#
# self.fbb = wx.lib.filebrowsebutton.FileBrowseButton(panel,fileMode = wx.FD_OPEN,labelText="保存:",size = (280,-1), buttonText= "Browse2",initialValue = r"E:\Doctor_Chen\wav1.wav", fileMask="*.wav",labelWidth = 10)
# self.fbb.SetBackgroundColour("white")
# self.boxsize.Add(self.fbb, pos=(17, 0), span=(1, 3), flag=wx.EXPAND | wx.LEFT | wx.RIGHT, border=5)
#
# self.play_button = wx.Button(panel, wx.ID_ANY, "录音")
# self.boxsize.Add(self.play_button,pos=(17, 3) , flag=wx.EXPAND | wx.LEFT | wx.RIGHT, border=5)
#
#
# self.play_button = wx.Button(panel, wx.ID_ANY, "暂停")
# self.boxsize.Add(self.play_button,pos=(17, 4) , flag=wx.EXPAND | wx.LEFT | wx.RIGHT, border=5)
#
#
# line = wx.StaticLine(panel)
# self.boxsize.Add(line, pos=(18, 0), span=(1, 15), flag=wx.EXPAND | wx.BOTTOM | wx.TOP)
panel.SetSizerAndFit(self.boxsize)
# def time_lock(self,event):
# filename = self.text_alarm_p1.GetValue()
# self.text_alarm_p1.SetLabel("111")
# self.text_alarm_p1.SetBackgroundStyle(style=wx.TE_READONLY)
def Time(self, event):
t1 = "当前时间: " + time.strftime("%H:%M:%S", time.localtime())
self.text1.SetLabel(t1)
for i in range(0, 24):
temp = "{:0>2d}:00:00".format(i)
# if t == temp: # 判断是否为整点
if t1 == "当前时间: " + self.text_alarm_p.GetValue():
# filename = "E:\Doctor_Chen\00. YT\\" + "{:0>2d}.wav".format(i) # 找到对应的wav文件路径
filename = self.fbb.GetValue()
self.Sound(filename) # 播放声音
break
def run(self, event):
t1 = time.strftime("%H:%M:%S", time.localtime())
self.text1.SetLabel(t1)
# for i in range(0, 24):
# temp = "{:0>2d}:00:00".format(i)
# if t == temp: # 判断是否为整点
# if t1 == self.text_alarm_p1.GetValue():
content = self.tc4.GetValue()
list = ["https://www.baidu.com/", "https://www.taobao.com/"]
web.open(list[0])
# driver = webdriver.Chrome(executable_path=r"D:\tools\python38\Scripts\chromedriver.exe")
# driver.maximize_window()
# driver.get(list[1])
time.sleep(1)
# driver.manage().window().maximize()
# driver.execute_script("document.body.style.zoom='80%'")
# time.sleep(2)
# driver.close()
# Window = windows_api()
# Window.find_window_wildcard(".*淘宝.*")
# Window.set_foreground()
time.sleep(0.5)
print(pyautogui.position())
# driver.execute_script("document.body.style.zoom='100%'")
#
pyautogui.click(679, 348)
pyperclip.copy(content)
pyautogui.click(679, 348)
pyautogui.hotkey("ctrl", "V")
time.sleep(1)
pyautogui.hotkey("enter")
def Sound(self, filename):
f = wave.open(filename, 'rb') # 加载音频文件(wav)
pms = f.getparams() # 获取音频的属性参数
nchannels, sampwidth, framerate, nframes = pms[:4] # 单独提取出各参数的值,并加以定义
p = pyaudio.PyAudio() # 创建一个播放器
s = p.open(format=p.get_format_from_width(sampwidth), channels=nchannels, rate=framerate,
output=True) # 将音频转换为音频流
while True:
data = f.readframes(1024) # 按照1024大小的块,读取音频数据,得到一系列二进制编码
if data == b'':
break
s.write(data) # 开始按照音频的参数,播放音频
s.close()
p.terminate()
# def alear_time(self):
# for i in range(0, 24):
# temp = "{:0>2d}:00:00".format(i)
# # if t == temp: # 判断是否为整点
# if self.t == "当前时间: " + str(self.text_alarm_p.GetValue()):
# # filename = "E:\Doctor_Chen\00. YT\\" + "{:0>2d}.wav".format(i) # 找到对应的wav文件路径
# filename = self.fbb.GetValue()
# self.Sound(filename) # 播放声音
# break
def onPlay(self,event):
self.text_alarm_p = wx.TextCtrl(self.panel, pos=(0, 0), style=wx.TE_READONLY)
class App(wx.App):
def OnInit(self):
self.frame = MyCalculator()
self.frame.Bind(wx.EVT_CLOSE, self.OnClose, self.frame)
self.frame.Show()
return True
# def OnOtherColor(self, event):
# '''
# 使用颜色对话框
# '''
# dlg = wx.ColourDialog(self)
# dlg.GetColourData().SetChooseFull(True) # 创建颜色对象数据
# if dlg.ShowModal() == wx.ID_OK:
# self.paint.SetColor(dlg.GetColourData().GetColour()) # 根据选择设置画笔颜色
# dlg.Destroy()
def OnClose(self, event):
dlg = wx.MessageDialog(None, "是否要关闭窗口?", "请确认", wx.YES_NO | wx.ICON_QUESTION)
retCode = dlg.ShowModal()
if (retCode == wx.ID_YES):
self.frame.Destroy()
else:
pass
if name == ‘main’:
app = App()
# job = Job(app)
# job.start()
app.MainLoop()
import wx
import math
import time
import pyaudio
import wave
import wx.lib.filebrowsebutton
from multiprocessing import Process
import threading
class Job(threading.Thread):
def __init__(self, *args, **kwargs):
super(Job, self).__init__(*args, **kwargs)
self.__flag = threading.Event() # 用于暂停线程的标识
self.__flag.set() # 设置为True
self.__running = threading.Event() # 用于停止线程的标识
self.__running.set() # 将running设置为True
def run(self):
while self.__running.isSet():
self.__flag.wait() # 为True时立即返回, 为False时阻塞直到内部的标识位为True后返回
print(time.time())
time.sleep(1)
# print("sleep 1s")
def pause(self):
self.__flag.clear() # 设置为False, 让线程阻塞
print("pause")
def resume(self):
self.__flag.set() # 设置为True, 让线程停止阻塞
print("resume")
def stop(self):
# self.__flag.set() # 将线程从暂停状态恢复, 如果已经暂停的话(要是停止的话我就直接让他停止了,干嘛还要执行这一句语句啊,把这句注释了之后就没有滞后现象了。)
self.__running.clear() # 设置为False
print("停止!")
class MyCalculator(wx.Frame):
def init(self):
super().init(parent=None, title=“多功能计算器”, size=(835, 1020),
style=wx.DEFAULT_FRAME_STYLE)
self.Center()
panel = wx.Panel(parent=self)
panel.SetBackgroundColour(‘grey’)
panel.Center()
font = wx.Font(16, wx.ROMAN, wx.NORMAL, wx.BOLD, underline=False)
boxsize = wx.GridBagSizer(5,5)
self.equation = ""
self.result = 0
self.ResultFlag = 0
text = wx.StaticText(panel, -1,label = "常规计算", style=wx.ALIGN_LEFT)
font1 = wx.Font(12, wx.ROMAN, wx.ITALIC, wx.NORMAL)
txt = "常规计算"
text.SetForegroundColour("white")
text.SetBackgroundColour("black")
font2 = wx.Font(18, wx.ROMAN, wx.ITALIC, wx.NORMAL)
text.SetFont(font2)
text.SetLabel(txt)
boxsize.Add(text,pos=(0,0),span=(1,15))
self.textprint = wx.TextCtrl(panel, pos=(0, 0))
self.textprint.SetFont(font) # 文本框里面格式
self.textprint.BackgroundColour = 'red'
boxsize.Add(self.textprint, pos=(1,0),span=(1,15),flag=wx.LEFT | wx.EXPAND)
gridsizer = wx.GridSizer(cols=5, rows=6, vgap=1, hgap=1)
for x in range(10):
exec("self.btn%s = wx.Button(panel,label = '%s')" % (x, x))
list = ['^', '.', '=', '÷', '×', '-', '+', 'Ans', 'AC', 'DEL', 'sin', 'cos', 'tan', '(', ')', 'π', 'log', 'ln',
'sqrt', 'mod']
for x in range(10, 30):
exec("self.btn%s = wx.Button(panel,label = '%s')" % (x, list[x - 10]))
for x in range(30):
exec("self.btn%s.SetFont(font)" % (x))
for i in range(0, 30):
exec("self.btn%s.BackgroundColour = 'pale green'" % i)
self.btn18.BackgroundColour = "red"
list = []
for i in range(0,30):
exec("list.append((self.btn%s, 0, wx.EXPAND))"%i)
print(list)
gridsizer.AddMany(list)
boxsize.Add(gridsizer,pos=(2, 0), span=(1, 15), flag=wx.EXPAND|wx.TOP|wx.LEFT|wx.RIGHT, border=1)
line = wx.StaticLine(panel)
boxsize.Add(line,pos=(3,0),span=(1,15),flag=wx.EXPAND|wx.BOTTOM|wx.TOP)
text = wx.StaticText(panel, -1,label = "常规计算", style=wx.ALIGN_LEFT)
font1 = wx.Font(12, wx.ROMAN, wx.ITALIC, wx.NORMAL)
txt = "程序员计算"
text.SetForegroundColour("white")
text.SetBackgroundColour("black")
font2 = wx.Font(18, wx.ROMAN, wx.ITALIC, wx.NORMAL)
text.SetFont(font2)
text.SetLabel(txt)
boxsize.Add(text,pos=(4,0),span=(1,15))
#
# text2 = wx.StaticText(panel, label="程序员计算",style = 5, name = "1")
# boxsize.Add(text2, pos=(3, 0), flag=wx.LEFT, border=10)
line = wx.StaticLine(panel)
boxsize.Add(line,pos=(5,0),span=(1,15),flag=wx.EXPAND|wx.BOTTOM|wx.TOP)
self.textprint = wx.TextCtrl(panel, pos=(0, 0))
self.textprint.SetFont(font) # 文本框里面格式
self.textprint.BackgroundColour = 'red'
boxsize.Add(self.textprint, pos=(6,0),span=(1,15),flag=wx.LEFT | wx.EXPAND)
gridsizer = wx.GridSizer(cols=16, rows=2, vgap=1, hgap=1)
# tc1 = wx.TextCtrl(panel)
# sizer.Add(tc1, pos=(2, 1), span=(1, 3), flag=wx.TOP | wx.EXPAND)
#
for x in range(32):
exec("self.btn%s = wx.TextCtrl(panel,size=(5, 30))" % (x))
for x in range(32):
exec("self.btn%s.SetFont(font)" % (x))
for i in range(32):
exec("self.btn%s.BackgroundColour = 'white'" % i)
list = []
for i in range(0,32):
exec("list.append((self.btn%s, 0, wx.EXPAND))"%i)
print(list)
gridsizer.AddMany(list)
boxsize.Add(gridsizer,pos=(7, 0), span=(1, 15), flag=wx.EXPAND|wx.TOP|wx.LEFT|wx.RIGHT, border=1)
text = wx.StaticText(panel, label='HEX:')
text.SetForegroundColour("white")
# text.SetBackgroundColour("black")
font2 = wx.Font(18, wx.ROMAN, wx.ITALIC, wx.NORMAL)
text.SetFont(font2)
boxsize.Add(text, pos=(8, 0), flag=wx.TOP | wx.LEFT | wx.BOTTOM, border=5)
tc = wx.TextCtrl(panel)
boxsize.Add(tc, pos=(8, 1), span=(1, 4), flag=wx.EXPAND | wx.LEFT | wx.RIGHT, border=5)
buttonOK = wx.Button(panel, label='左移:')
# buttonOK.SetForegroundColour("white")
# buttonOK.SetBackgroundColour("black")
font2 = wx.Font(18, wx.ROMAN, wx.ITALIC, wx.NORMAL)
buttonOK.SetFont(font2)
boxsize.Add(buttonOK, pos=(8, 7), flag=wx.RIGHT | wx.BOTTOM, border=5)
tc = wx.TextCtrl(panel)
boxsize.Add(tc, pos=(8, 9), span=(1, 5), flag=wx.EXPAND | wx.LEFT | wx.RIGHT, border=5)
text = wx.StaticText(panel, label='DEC:')
text.SetForegroundColour("white")
# text.SetBackgroundColour("black")
font2 = wx.Font(18, wx.ROMAN, wx.ITALIC, wx.NORMAL)
text.SetFont(font2)
boxsize.Add(text, pos=(9, 0), flag=wx.TOP | wx.LEFT | wx.BOTTOM, border=5)
tc = wx.TextCtrl(panel)
boxsize.Add(tc, pos=(9, 1), span=(1, 4), flag=wx.EXPAND | wx.LEFT | wx.RIGHT, border=5)
buttonOK = wx.Button(panel, label='右移:')
# buttonOK.SetForegroundColour("white")
# buttonOK.SetBackgroundColour("black")
font2 = wx.Font(18, wx.ROMAN, wx.ITALIC, wx.NORMAL)
buttonOK.SetFont(font2)
boxsize.Add(buttonOK, pos=(9, 7), flag=wx.RIGHT | wx.BOTTOM, border=5)
tc = wx.TextCtrl(panel)
boxsize.Add(tc, pos=(9, 9), span=(1, 5), flag=wx.EXPAND | wx.LEFT | wx.RIGHT, border=5)
text = wx.StaticText(panel, label='Yield[L:H]')
text.SetForegroundColour("white")
# text.SetBackgroundColour("black")
font2 = wx.Font(18, wx.ROMAN, wx.ITALIC, wx.NORMAL)
text.SetFont(font2)
boxsize.Add(text, pos=(10, 0), flag=wx.TOP | wx.LEFT | wx.BOTTOM, border=5)
tc = wx.TextCtrl(panel)
boxsize.Add(tc, pos=(10, 1), span=(1, 1), flag=wx.EXPAND | wx.LEFT | wx.RIGHT, border=5)
text = wx.StaticText(panel, label=' :')
text.SetForegroundColour("white")
# text.SetBackgroundColour("black")
font2 = wx.Font(18, wx.ROMAN, wx.ITALIC, wx.NORMAL)
text.SetFont(font2)
boxsize.Add(text, pos=(10, 2), flag=wx.TOP | wx.LEFT | wx.BOTTOM, border=5)
tc = wx.TextCtrl(panel)
boxsize.Add(tc, pos=(10, 3), span=(1, 2), flag=wx.EXPAND | wx.LEFT | wx.RIGHT, border=5)
buttonOK = wx.Button(panel, label='计算')
# buttonOK.SetForegroundColour("white")
# buttonOK.SetBackgroundColour("black")
font2 = wx.Font(18, wx.ROMAN, wx.ITALIC, wx.NORMAL)
buttonOK.SetFont(font2)
boxsize.Add(buttonOK, pos=(10, 7), flag=wx.RIGHT | wx.BOTTOM, border=5)
tc = wx.TextCtrl(panel)
boxsize.Add(tc, pos=(10, 9), span=(1, 5), flag=wx.EXPAND | wx.LEFT | wx.RIGHT, border=5)
line = wx.StaticLine(panel)
boxsize.Add(line, pos=(11, 0), span=(1, 15), flag=wx.EXPAND | wx.BOTTOM | wx.TOP)
text = wx.StaticText(panel, -1,label = "音乐和闹钟", style=wx.ALIGN_LEFT)
font1 = wx.Font(12, wx.ROMAN, wx.ITALIC, wx.NORMAL)
text.SetForegroundColour("white")
text.SetBackgroundColour("black")
font2 = wx.Font(18, wx.ROMAN, wx.ITALIC, wx.NORMAL)
text.SetFont(font2)
boxsize.Add(text, pos=(12, 0), span=(1, 15))
line = wx.StaticLine(panel)
boxsize.Add(line, pos=(13, 0), span=(1, 15), flag=wx.EXPAND | wx.BOTTOM | wx.TOP)
t = time.strftime("%H:%M:%S", time.localtime()) # 设置初始值
t = "当前时间:" + t
self.text1 = wx.StaticText(panel, -1, t)
font = wx.Font(22, wx.DEFAULT, wx.FONTSTYLE_NORMAL, wx.NORMAL, faceName="黑体")
self.text1.SetFont(font)
self.text1.SetForegroundColour("white")
self.timer = wx.Timer(self) # 创建一个计时器对象
self.Bind(wx.EVT_TIMER, self.Time, self.timer) # 绑定计时器事件
self.timer.Start(1000) # 计时器计时1秒
boxsize.Add(self.text1, pos=(14, 0), span=(1, 2))
buttonOK = wx.Button(panel, label="开始时间:")
# buttonOK.SetForegroundColour("white")
# buttonOK.SetBackgroundColour("black")
font2 = wx.Font(18, wx.ROMAN, wx.ITALIC, wx.NORMAL)
buttonOK.SetFont(font2)
boxsize.Add(buttonOK, pos=(14, 2), flag=wx.RIGHT | wx.BOTTOM, border=5)
self.text_alarm = wx.TextCtrl(panel, pos=(0, 0))
self.text_alarm.SetFont(font) # 文本框里面格式
self.text_alarm.BackgroundColour = 'white'
boxsize.Add(self.text_alarm, pos=(14,3),span=(1,1),flag=wx.EXPAND | wx.LEFT | wx.RIGHT, border=5)
buttonOK = wx.Button(panel, label="倒计时:")
# buttonOK.SetForegroundColour("white")
# buttonOK.SetBackgroundColour("black")
font2 = wx.Font(18, wx.ROMAN, wx.ITALIC, wx.NORMAL)
buttonOK.SetFont(font2)
boxsize.Add(buttonOK, pos=(14, 4), flag=wx.RIGHT | wx.BOTTOM, border=5)
self.text_alarm = wx.TextCtrl(panel, pos=(0, 0))
self.text_alarm.SetFont(font) # 文本框里面格式
self.text_alarm.BackgroundColour = 'white'
boxsize.Add(self.text_alarm, pos=(14, 5), span=(1, 1), flag=wx.EXPAND | wx.LEFT | wx.RIGHT, border=5)
textclk = wx.StaticText(panel, -1,label = "闹钟时间:", style=wx.ALIGN_LEFT | wx.ALIGN_CENTRE |wx.ALIGN_CENTRE_VERTICAL)
font = wx.Font(22, wx.DEFAULT, wx.FONTSTYLE_NORMAL, wx.NORMAL, faceName="黑体")
textclk.SetFont(font)
textclk.SetForegroundColour("white")
boxsize.Add(textclk, pos=(15, 0),flag=wx.TOP | wx.LEFT | wx.BOTTOM, span=(1, 1))
self.text_alarm_p = wx.TextCtrl(panel, pos=(0, 0))
self.text_alarm_p.SetFont(font) # 文本框里面格式
self.text_alarm_p.BackgroundColour = 'white'
boxsize.Add(self.text_alarm_p, pos=(15,1),span=(1,1),flag=wx.EXPAND | wx.LEFT | wx.RIGHT, border=5)
buttonOK = wx.Button(panel, label="结束时间:")
# buttonOK.SetForegroundColour("white")
# buttonOK.SetBackgroundColour("black")
font2 = wx.Font(18, wx.ROMAN, wx.ITALIC, wx.NORMAL)
buttonOK.SetFont(font2)
boxsize.Add(buttonOK, pos=(15, 2), flag=wx.RIGHT | wx.BOTTOM, border=5)
self.text_alarm = wx.TextCtrl(panel, pos=(0, 0))
self.text_alarm.SetFont(font) # 文本框里面格式
self.text_alarm.BackgroundColour = 'white'
boxsize.Add(self.text_alarm, pos=(15,3),span=(1,1),flag=wx.EXPAND | wx.LEFT | wx.RIGHT, border=5)
textclk = wx.StaticText(panel, -1,label = " 用时:", style=wx.ALIGN_LEFT | wx.ALIGN_CENTRE |wx.ALIGN_CENTRE_VERTICAL)
font = wx.Font(22, wx.DEFAULT, wx.FONTSTYLE_NORMAL, wx.NORMAL, faceName="黑体")
textclk.SetFont(font)
textclk.SetForegroundColour("white")
boxsize.Add(textclk, pos=(15, 4),flag=wx.TOP | wx.LEFT | wx.BOTTOM, span=(1, 1))
self.text_alarm = wx.TextCtrl(panel, pos=(0, 0))
self.text_alarm.SetFont(font) # 文本框里面格式
self.text_alarm.BackgroundColour = 'white'
boxsize.Add(self.text_alarm, pos=(15, 5), span=(1, 1), flag=wx.EXPAND | wx.LEFT | wx.RIGHT, border=5)
self.fbb = wx.lib.filebrowsebutton.FileBrowseButton(panel,fileMode = wx.FD_OPEN,labelText="音乐:",size = (280,-1), buttonText= "Browse2",initialValue = r"E:\Doctor_Chen\wav1.wav", fileMask="*.wav",labelWidth = 10)
self.fbb.SetBackgroundColour("white")
self.play_button = wx.Button(panel, wx.ID_ANY, "播放")
boxsize.Add(self.fbb, pos=(16, 0), span=(1, 3), flag=wx.EXPAND | wx.LEFT | wx.RIGHT, border=5)
boxsize.Add(self.play_button,pos=(16, 3) , flag=wx.EXPAND | wx.LEFT | wx.RIGHT, border=5)
self.play_button.Bind(wx.EVT_BUTTON, self.onPlay)
self.play_button = wx.Button(panel, wx.ID_ANY, "暂停")
boxsize.Add(self.play_button,pos=(16, 4) , flag=wx.EXPAND | wx.LEFT | wx.RIGHT, border=5)
self.type = ["单曲循环", "随机播放","循环播放"]
xxx = wx.ComboBox(panel, -1, "单曲循环", choices=self.type)
boxsize.Add(xxx, pos=(16, 5), span=(1, 1), flag=wx.EXPAND | wx.LEFT | wx.RIGHT, border=5)
self.fbb = wx.lib.filebrowsebutton.FileBrowseButton(panel,fileMode = wx.FD_OPEN,labelText="保存:",size = (280,-1), buttonText= "Browse2",initialValue = r"E:\Doctor_Chen\wav1.wav", fileMask="*.wav",labelWidth = 10)
self.fbb.SetBackgroundColour("white")
boxsize.Add(self.fbb, pos=(17, 0), span=(1, 3), flag=wx.EXPAND | wx.LEFT | wx.RIGHT, border=5)
self.play_button = wx.Button(panel, wx.ID_ANY, "录音")
boxsize.Add(self.play_button,pos=(17, 3) , flag=wx.EXPAND | wx.LEFT | wx.RIGHT, border=5)
self.play_button = wx.Button(panel, wx.ID_ANY, "暂停")
boxsize.Add(self.play_button,pos=(17, 4) , flag=wx.EXPAND | wx.LEFT | wx.RIGHT, border=5)
line = wx.StaticLine(panel)
boxsize.Add(line, pos=(18, 0), span=(1, 15), flag=wx.EXPAND | wx.BOTTOM | wx.TOP)
text = wx.StaticText(panel, -1, label="陈依婷", style=wx.ALIGN_LEFT)
font1 = wx.Font(12, wx.ROMAN, wx.ITALIC, wx.NORMAL)
text.SetForegroundColour("white")
text.SetBackgroundColour("black")
font2 = wx.Font(18, wx.ROMAN, wx.ITALIC, wx.NORMAL)
text.SetFont(font2)
boxsize.Add(text, pos=(19, 0), span=(1, 15))
line = wx.StaticLine(panel)
boxsize.Add(line, pos=(20, 0), span=(1, 15), flag=wx.EXPAND | wx.BOTTOM | wx.TOP)
image1 = wx.Image("1.jpg", wx.BITMAP_TYPE_JPEG).Rescale(620, 120).ConvertToBitmap()
bmp1 = wx.StaticBitmap(panel, -1, image1) # 转化为wx.Sta
boxsize.Add(bmp1, pos=(21, 0),span=(12, 15), flag=wx.ALL, border=5)
# # 向panel中添加图片
# image = wx.Image("1.jpg", wx.BITMAP_TYPE_JPEG).ConvertToBitmap()
# wx.StaticBitmap(panel, -1, bitmap=image, pos=(1, 825), size=(400, 200))
# img = wx.Image("1.jpg",wx.BITMAP_TYPE_JPEG).ConvertToBitmap()
# self.sBmp = wx.StaticBitmap(self, wx.ID_ANY, wx.BitmapFromImage(img))
# # self.sBmp = wx.StaticBitmap(self, wx.ID_ANY, wx.BitmapFromImage(img))
# boxsize.Add(self.sBmp, pos=(21, 0), proportion=0, flag=wx.ALL, border=10)
# img = wx.Image(image, wx.BITMAP_TYPE_ANY)
# self.sBmp = wx.StaticBitmap(self, wx.ID_ANY, wx.BitmapFromImage(img))
#
# sizer = wx.BoxSizer()
# sizer.Add(item=self.sBmp, proportion=0, flag=wx.ALL, border=10)
# self.SetBackgroundColour('green')
# self.SetSizerAndFit(sizer)
panel.SetSizerAndFit(boxsize)
self.textprint.SetValue(self.equation)
def Time(self, event):
t1 = "当前时间: " + time.strftime("%H:%M:%S", time.localtime())
self.text1.SetLabel(t1)
for i in range(0, 24):
temp = "{:0>2d}:00:00".format(i)
# if t == temp: # 判断是否为整点
if t1 == "当前时间: " + self.text_alarm_p.GetValue():
# filename = "E:\Doctor_Chen\00. YT\\" + "{:0>2d}.wav".format(i) # 找到对应的wav文件路径
filename = self.fbb.GetValue()
self.Sound(filename) # 播放声音
break
def Sound(self, filename):
f = wave.open(filename, 'rb') # 加载音频文件(wav)
pms = f.getparams() # 获取音频的属性参数
nchannels, sampwidth, framerate, nframes = pms[:4] # 单独提取出各参数的值,并加以定义
p = pyaudio.PyAudio() # 创建一个播放器
s = p.open(format=p.get_format_from_width(sampwidth), channels=nchannels, rate=framerate,
output=True) # 将音频转换为音频流
while True:
data = f.readframes(1024) # 按照1024大小的块,读取音频数据,得到一系列二进制编码
if data == b'':
break
s.write(data) # 开始按照音频的参数,播放音频
s.close()
p.terminate()
# def alear_time(self):
# for i in range(0, 24):
# temp = "{:0>2d}:00:00".format(i)
# # if t == temp: # 判断是否为整点
# if self.t == "当前时间: " + str(self.text_alarm_p.GetValue()):
# # filename = "E:\Doctor_Chen\00. YT\\" + "{:0>2d}.wav".format(i) # 找到对应的wav文件路径
# filename = self.fbb.GetValue()
# self.Sound(filename) # 播放声音
# break
def onPlay(self,event):
filename = self.fbb.GetValue()
print(filename)
self.Sound(filename) # 播放声音
class App(wx.App):
def OnInit(self):
self.frame = MyCalculator()
self.frame.Bind(wx.EVT_CLOSE, self.OnClose, self.frame)
self.frame.Show()
return True
# def OnOtherColor(self, event):
# '''
# 使用颜色对话框
# '''
# dlg = wx.ColourDialog(self)
# dlg.GetColourData().SetChooseFull(True) # 创建颜色对象数据
# if dlg.ShowModal() == wx.ID_OK:
# self.paint.SetColor(dlg.GetColourData().GetColour()) # 根据选择设置画笔颜色
# dlg.Destroy()
def OnClose(self, event):
dlg = wx.MessageDialog(None, "是否要关闭窗口?", "请确认", wx.YES_NO | wx.ICON_QUESTION)
retCode = dlg.ShowModal()
if (retCode == wx.ID_YES):
self.frame.Destroy()
else:
pass
if name == ‘main’:
app = App()
# job = Job(app)
# job.start()
app.MainLoop()
import pyperclip
import pyautogui
import win32gui
import re
import win32con
import time
import webbrowser as web
from selenium import webdriver
class windows_api:
def init(self):
self._handle = None
def _windows_enum_callback(self,hwnd,wildcard):
# win32gui.EnumWindows()
if re.match(wildcard,str(win32gui.GetWindowText(hwnd))) != None:
self._handle = hwnd
def find_window_wildcard(self,wildcard):
self._handle = None
win32gui.EnumWindows(self._windows_enum_callback,wildcard)
def set_foreground(self):
done = False
if self._handle > 0:
win32gui.SetForegroundWindow(self._handle)
win32gui.SendMessage(self._handle,win32con.WM_SYSCOMMAND,win32con.SC_MAXIMIZE,0)
done = True
return done
if name == “main”:
# Point(x=694, y=346) #百度框绝对坐标
# Point(x=800, y=195) #taobao
content = “篮球”
list = [“https://www.baidu.com/”,“https://www.taobao.com/”]
web.open(list[0])
# driver = webdriver.Chrome(executable_path=r"D:\tools\python38\Scripts\chromedriver.exe")
# driver.maximize_window()
# driver.get(list[1])
time.sleep(1)
# driver.manage().window().maximize()
# driver.execute_script("document.body.style.zoom='80%'")
# time.sleep(2)
# driver.close()
# Window = windows_api()
# Window.find_window_wildcard(".*淘宝.*")
# Window.set_foreground()
time.sleep(0.5)
print(pyautogui.position())
# driver.execute_script("document.body.style.zoom='100%'")
#
pyautogui.click(679,348)
pyperclip.copy(content)
pyautogui.click(679,348)
pyautogui.hotkey("ctrl","V")
time.sleep(1)
pyautogui.hotkey("enter")
# pyautogui.click(752,151)
# Point(x=1310, y=205)
-- coding: utf-8 -
import webbrowser as web
import time
import os
urllist=[
‘https://www.baidu.com/’,
‘https://www.csdn.net/’
]
for j in range(0,6):#设置循环的总次数
i=0
while i<1 : #一次打开浏览器访问的循环次数
for url in urllist:
web.open(url) #访问网址地址,语法 .open(url,new=0,Autorasise=True),设置 new 的值不同有不同的效果0、1、2
i=i+1
time.sleep(2) #设置每次打开新页面的等待时间
else:
time.sleep(5) #设置每次等待关闭浏览器的时间
os.system('taskkill /IM chrome.exe') #你设置的默认使用浏览器,其他的更换下就行
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)