tkinter python 句柄_微云收藏 python tkinter.after
上一篇既使用win32
后来改进2.0版本 加入gui 使用的tkinter
但是每次点击,很不方便,更新后,单纯使用 tkinter ,去除掉win32(其实这个很简单)
win32是支持监视剪贴板的,不过过于复杂,同时还需要窗口句柄是win32建立的,省去麻烦,直接用tkinter,但是tkinter过于简单,仅仅支持剪切板内容获取,清空,设置,等功能.于是需要写循环来不断获取剪切板内容,来检查是否改变.
但是直接不断获取剪切板,就进入了单纯的循环,不能退出,以及cpu一直忙碌.一个目测可行的办法是导入 threading,线程管理.但是,对于按钮和线程,似乎比较复杂.
还好,tkinter.after() 支持挂起,解决这个问题.运行过程中,随时可以退出quit
另外一个全局的变量 running 给循环一个起点
关键tkinter.after()的应用##
#!/usr/bin/python
# -*- coding: utf-8 -*-
#@Author : BigBro
#@DateTime : 2015-11-17 16:57:30
#@Filename : weiyunsc_2.2.py
#@Description : 微云收藏 2.2 自动检测 剪贴板
import tkinter
import urllib.parse
import os
running = False # Global flag
old_text = ' '
def getClipboardText(tk):
# win32clipboard.OpenClipboard()
# result = win32clipboard.GetClipboardData(win32con.CF_TEXT)
# win32clipboard.CloseClipboard()
result = tk.clipboard_get()
return result
def weiyunsc2_0(tk):
#input('复制网址,回车')
url=getClipboardText(tk)
#url=url.decode('utf-8') #transform bytes into str #tk下 获取的内容直接为str,不需要转换
url = str(url)
chrome = 'chrome.exe'
prefix = r'http://sc.qq.com/'
prefix2 =r'mp.weixin.qq.com'
if url.startswith(prefix):
url = url[17:] #strip 'http://sc.qq.com/'
url= urllib.parse.unquote(url)
url_list_str = ''.join([u if u !='&' else '^&' for u in list(url) ]) #cmd 命令行 对&是保留字,需要^来转义
os.system("{0} {1}".format(chrome,url_list_str))
elif url.startswith(prefix2):
os.system("{0} {1}".format(chrome,url))
else:
url=''.join([u if u !='&' else '^&' for u in list(url) ])#如果u !='&'则u就是u,否则,u='^&'
os.system("{0} {1}".format(chrome,url))
def WatchClipboard(tk):#监视剪切板 返回
global old_text
text = getClipboardText(tk)
if running:
if old_text != text:
weiyunsc2_0(tk)
old_text = text
tk.after(500, lambda:WatchClipboard(tk))
def start():
"""Enable scanning by setting the global flag to True."""
global running
running = True
if __name__ == '__main__':
top = tkinter.Tk() #定义一个窗口
top.title('微云收藏2.2') #定义窗口标题
top.geometry('400x200') #定义窗体的大小,是400X200像素
func = tkinter.Button(top,text='开始',command = start)
func.pack(expand = 'yes', fill = 'both')
quit = tkinter.Button(top, text='Quit',
command=top.quit)
quit.pack(expand='yes', fill = 'both')
top.after(500, lambda:WatchClipboard(top))
tkinter.mainloop()
tkinter python 句柄_微云收藏 python tkinter.after相关推荐
- 鲲鹏云服务器运行python项目_鲲鹏云实验-Python+Jupyter机器学习基础环境
[摘要] 介绍Ubuntu 18.04环境下Python3常用科学计算和数据分析包(numpy, scipy, matplotlib, sklearn, pandas)的安装,以及Jupyter No ...
- 微云收藏 - js脚本
将以下代码收藏到收藏夹,即可以随时保存网页到微云收藏http://sc.qq.com javascript:(function(c,b,n,d){b.getElementById("favp ...
- 黑马程序员python笔记_#华为云·寻找黑马程序员# 如何实现一个优雅的Python的Json序列化库...
[小宅按]在Python的世界里,将一个对象以json格式进行序列化或反序列化一直是一个问题.Python标准库里面提供了json序列化的工具,我们可以简单的用json.dumps来将一个对象序列化. ...
- 零基础学python 视频_全网最全Python视频教程真正零基础学习Python视频教程 490集...
Python Web开发-进阶提升 490集超强Python视频教程 真正零基础学习Python视频教程 [课程简介] 这是一门Python Web开发进阶课程,手把手教你用Python开发完整的商业 ...
- 3 x 10的python表达式_这道数学题用PYTHON编程语言怎么写? 编程语言python是用
我觉着,这个应该这样解决比较符合计算机解题思路. 下面的回答的,思考的东西太多. # -*- coding: utf-8 -*- __author__ = 'lpe234' __date__ = '2 ...
- 为什么要学python语言_我们为什么要学习Python语言?
原标题:我们为什么要学习Python语言? 聊到我们为什么要学习Python语言?小编不禁又想起大佬潘石屹准备开启Python学习旅程时所发布的微博. 我们为什么要学习Python语言? 在农业社会时 ...
- 疯狂python讲义视频 百度云-疯狂Python讲义 PDF 含源码工具版
给大家带来的一篇关于Python编程相关的电子书资源,介绍了关于Python编程.Python语法方面的内容,本书是由电子工业出版社出版,格式为PDF,资源大小124.3 MB,李刚编写,目前豆瓣.亚 ...
- 计算机导论python知识点_如何系统地自学 Python?
我是自学的Python.从对Python一无所知,到在博客上写Python相关的系列文章(Python快速教程),前后有将近三年的时间.期间有不少门槛,但也充满乐趣.乐趣是自学的最大动力.Python ...
- pythoncookbook和流畅的python对比_为什么你学Python效率比别人慢?因为你没有这套完整的学习资料...
以下资源免费获取方式! 关注!转发!私信"资料"即可免费领取! 入门书籍 1.<Python基础教程>(Beginning Python From Novice to ...
最新文章
- LaxTex---问题1: ! I can't write on file `***.pdf'.(Press Enter to retry, or Control-Z to exit; \ldots
- vscode 全项目替换_利用vscode插件提升前端国际化开发效率
- ACM竞赛学习整理开篇之01背包问题
- C++BOOL,int,float,指针类型的变量a 与“零”比较语句
- 解决win10cpu使用率100_如何正确理解 CPU 使用率和平均负载的关系?看完你就知道了...
- keil用c语言怎么编辑器,用keil软件编写单片机程序的步骤
- mat opencv 修改roi_设置图片ROI(OpenCV学习笔记之二)
- navicat设计表中添加自增长列
- zabbix 监控使用宏自动发现网卡并进行监控
- C++ 编写的DLL导出的函数名乱码含义解析
- rand()和srand()产生伪随机数zz
- linux命令:linux集群系列之一---LVS类型解析
- 1.6 分类模型准确性的评估方法
- 还原数据库时不能独占访问
- 大型分布式电商系统架构技术总结
- java word 文档合并_[原创]java合并word文件
- java从菜鸟到巨佬的学习目标
- 软件测试面试中项目介绍宝典
- 金山和微软word脚注和尾注问题
- 读书笔记:我们为什么上班
热门文章
- python教程:使用生成器重构提取数据方法来优化爬虫代码
- 【Python教程】 正则表达式 re模块中,反斜杠 “\“分割字符串的正确操作方法
- python常见面试题:m1={‘a‘:1,‘b‘:2,‘c‘:1} 将同样的value的key集合在list里,输出{1:[‘a‘,‘c‘],2:[‘b‘]}
- Python基础教程:super()方法详解
- Python 的类其实是一个特殊的对象
- Python69个内置函数分类总结
- python取当前时间前后一定间隔的时间点
- hover如何改变子元素或其他同级元素?(用不了怎么回事?)
- 公交线路 思维,分支(女赛)
- 无忧考吧2017二级java_二级Java模拟软件|无忧考吧二级Java语言程序设计模拟软件下载 v2017.03官方版 - 121下载站...