创意编程,Python开发多功能壁纸自动切换工具!
import ctypes import time import requests import os from threading import Thread from tkinter import Tk, Label, Button,Entry,StringVar,messagebox # r'C:\Users\86156\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup' # '放到AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup下把本文件后缀设为pyw 就会开机自启' class Bz(object): def __init__(self): self.curent_url = 'https://tenapi.cn/img/acg.php' self.root = Tk() self.root.attributes("-alpha", 0.8) self.root.title('Python学习交流群:127341871') self.root.geometry('218x55+1300+20') self.b1 = Button(self.root, text=' 换一类 ', command=self.change_type, fg='#00f235',width=8).place(x=0, y=0) self.b2 = Button(self.root, text='下一张>> 频率(分)', command=self.change_next, fg='blue',width=22).place(x=63, y=0) self.b3 = Button(self.root, text='停止切换', command=self.stop, fg='red', width=8).place(x=0, y=30) self.label = Label(self.root, text='二次元',fg='#9e3dff') self.label.place(x=85, y=30) e = StringVar() self.input=Entry(self.root,textvariable=e,fg='#ffaf0a') e.set(0.1) #默认0.1分钟 6s self.input.place(x=153, y=30) self.url_list = {1: ['影视', 'http://pic.tsmp4.net/api/yingshi/img.php'], 2: ['随机', 'http://lorempixel.com/1920/1080/'], 3: ['女神', 'http://pic.tsmp4.net/api/nvsheng/img.php'], 4: ['风景', 'http://pic.tsmp4.net/api/fengjing/img.php'], 5: ['二次元', 'https://tenapi.cn/img/acg.php']} self.path = 'D:\壁纸' self.filepath = self.path + '/img.jpg' if not os.path.exists(self.path): os.makedirs(self.path) self.flag = True self.start = 1 def stop(self): self.flag = False def change_type(self): if self.start > 5: self.start = 1 list = self.url_list.get(self.start) curent_type = list[0] self.curent_url = list[1] self.label['text'] = curent_type self.start += 1 def change_next(self): data = requests.get(url=self.curent_url).content with open(self.filepath, 'wb') as f: f.write(data) self.config() def get_img(self): try: self.num = eval(self.input.get()) * 60 #捕获结束界面后的异常 except Exception: pass try: data = requests.get(url=self.curent_url).content with open(self.filepath, 'wb') as f: f.write(data) time.sleep(self.num) # 睡眠单位秒 self.config() except Exception: pass def config(self): ctypes.windll.user32.SystemParametersInfoW(20, 0, self.filepath, 0) # 设置桌面壁纸. def img(self): while self.flag: self.get_img() def run(self): t1 = Thread(target=self.img) # t1.setDaemon(True) #设置守护线程 --->是否完全关闭 t1.start() self.root.mainloop() if self.flag: root = Tk() root.withdraw() messagebox.showinfo("Python学习交流群:127341871", "只关闭了界面! 图片还在切换! 请进入任务管理器结束进程") if __name__ == '__main__': b = Bz() b.run()
创意编程,Python开发多功能壁纸自动切换工具!的更多相关文章
- TriAquae 是一款由国产的基于Python开发的开源批量部署管理工具
怀着鸡动的心情跟大家介绍一款国产开源运维软件TriAquae,轻松帮你搞定大部分运维工作!TriAquae 是一款由国产的基于Python开发的开源批量部署管理工具,可以允许用户通过一台控制端管理上千 ...
- pip:带你认识一个 Python 开发工作流程中的重要工具
摘要:许多Python项目使用pip包管理器来管理它们的依赖项.它包含在Python安装程序中,是Python中依赖项管理的重要工具. 本文分享自华为云社区<使用Python的pip管理项目的依 ...
- python开发_tkinter_菜单选项中英文切换_菜单选项不可用操作_博主推荐
我使用的python版本为:3.3.2 如果你对python中tkinter模块的菜单操作不是很了解,你可以看看: python开发_tkinter_窗口控件_自己制作的Python IDEL_博主推 ...
- Ubuntu 设定壁纸自动切换的shell脚本
升级到Ubuntu14.04后,感觉bug的确比12.04少多了.顶部任务栏支持半透明效果,所以整个桌面也看上去漂亮了很多.这样的桌面也是值得瞎捣鼓一下的,想到换壁纸,但是没找到设定动态更换壁纸的选项 ...
- python开发必备神器 Virtualenv及管理工具Virtualenvwrapper
如果在一台机器上,想开发多个不同的项目,需要用到同一个包的不同版本,如果还在本地继续安装,在同一个目录下安装或者更新,其它的项目必须就无法运行了,怎么办呢? 解决方案:虚拟环境 虚拟环境可以搭建独立的 ...
- python开发_platform_获取操作系统详细信息工具
''' python中,platform模块给我们提供了很多方法去获取操作系统的信息 如: import platform platform.platform() #获取操作系统名称及版本号,'Win ...
- js轮播功能 标签自动切换 同页面多轮播js
需要加入jquery 1.43及以上版本 下面还有个简单版,一个页面只支持一个轮播 同页面多轮播js <div> <div class="yt_content"& ...
- iOS开发之实现图片自动切换(类似android画廊效果)
#import ViewController.h #define ImageViewCount 5 @interface ViewController ()<uiscrollviewdele ...
- Python开发【第一篇】:目录
本系列博文包含 Python基础.前端开发.Web框架.缓存以及队列等,希望可以给正在学习编程的童鞋提供一点帮助!!! Python开发[第一篇]:目录 Python开发[第二篇]:初识Python ...
随机推荐
- Cesium 加载 gltf 模型
var viewer = new Cesium.Viewer('cesiumContainer', { /*帮助*/ navigationHelpButton: true, baseLayerPick ...
- SQL Server如何正确的删除Windows认证用户
在SQL Server数据库中,有时候会建立一些Windows认证的账号(域账号),例如,我们公司习惯给开发人员和Support同事开通NT账号权限,如果有离职或负责事宜变更的话,那么要如何正确的删除 ...
- python之os模块(os.path)
我们在做自动化测试的时候,可能会遇到一些需要处理文件一些需求,那么我们可以通过直接写文件的目录进行操作,当然作为一名自动化测试工程师,怎么可能用这种方法?python中自带的有OS,我们可以通过os模 ...
- golang+webgl实践激光雷达(一)激光扫描仪基础知识
一.前言 最近做一个测量料堆形状的项目,通过前期调研,最后决定用激光测距原理进行测量.通过旋转云台+激光扫描仪实现空间三维坐标的测量.其中激光扫描仪扫射的是一个二维的扫描面,再通过云台旋转,则形成一个 ...
- web攻击与防御技术--SQL注入
sql注入是WEB安全中比较重要而复杂的一个东西.而且危害性比较大. 一般来讲SQL注入的话首先要识别注入点.一个是看能不能注入另外一个是看是什么类型的注入比如说字符,数字,搜索(?)等等 GET.P ...
- 【使用篇二】SpringBoot集成SpringSecurity(22)
SpringSecurity是专门针对基于Spring项目的安全框架,充分利用了依赖注入和AOP来实现安全管控.在很多大型企业级系统中权限是最核心的部分,一个系统的好与坏全都在于权限管控是否灵活,是否 ...
- java中窗口的打开与关闭
作为小白的我,今天学习了java中打开与关闭窗口的方法. 1.在java中创建一个窗口 import java.awt.*;import java.awt.event.*;public class L ...
- Python 从入门到进阶之路(一)
人生苦短,我用 Python. Python 无疑是目前最火的语言之一,在这里就不再夸他的 NB 之处了,本着对计算机编程的浓厚兴趣,便开始了对 Python 的自学之路,并记录下此学习记录的心酸历程 ...
- Nginx图片防盗链配置
如果我们自己网站内的图片资源被其它网站所盗用,这会增加自己网站的带宽资源,增加很多额外的消耗,而且会对我们系统的稳定性有影响,为了防止自己网站上的图片资源被其它网站所盗用,我们需要给自己的服务器配置防 ...
- Fiddler使用过程中容易忽略的小技巧
fiddler的基本使用,在之前的一篇博文中有详细介绍,可参见Fiddler抓包工具使用详解,今天来分享几个容易忽略的小技巧. 1.ios机装了证书,依然抓不到包 近期总被同事问及ios机装了证书,但 ...