电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

詳解python3 GUI刷屏器(附源碼)

瀏覽:5日期:2022-06-27 16:53:22

過年GUI博客二連發,本打算出去玩玩,奈何空氣,天氣實在差,遂使用tkinter開發一款GUI刷屏器,寫此博客記錄一下我的開發思路。

一.準備工作

本次使用除tkinter庫之外還使用了pynput庫,可以使用

pip install pynput

安裝

二.預覽

詳解python3 GUI刷屏器(附源碼)

在長文本框中輸入要刷屏的內容,通過設置刷屏頻率(單位:秒)即可實現刷屏。

三.設計流程

詳解python3 GUI刷屏器(附源碼)

四.源代碼

import reimport timeimport pyperclipfrom tkinter import *from tkinter import messageboxfrom tkinter import ttkfrom pynput.keyboard import Key, Controllerimport threadingfrom PIL import Image ,ImageTk’’’難點按鍵復用’’’imgs=['./rely/logo.png',’./rely/favicon.ico’]class App: def __init__(self): self.flag=True self.window = Tk() width = 230 height = 260 screenWidth = self.window.winfo_screenwidth() # 獲取顯示區域的寬度 screenHeight = self.window.winfo_screenheight() # 獲取顯示區域的高度 left = (screenWidth - width) / 2 top = (screenHeight - height) / 2 self.window.geometry('%dx%d+%d+%d' % (width, height, left, top)) self.window.title(’刷一刷-v1.0’) self.window.iconbitmap(imgs[1]) self.window.resizable(0, 0) self.create_widget() self.config_widget() self.place_widget() self.window.mainloop() def create_widget(self): self.paned=PanedWindow(self.window) self.img=imgs photo = Image.open(self.img[0]) # 括號里為需要顯示在圖形化界面里的圖片 photo = photo.resize((150, 50)) # 規定圖片大小 self.paned.img = ImageTk.PhotoImage(photo) self.l0 = Label(self.window, image=self.paned.img, justify=’center’) self.l1 = ttk.Label(self.window, text=’內容:’) self.l1 = ttk.Label(self.window, text=’頻率:’) self.t1 = Text(self.window) self.c1 = ttk.Combobox(self.window, width=13) self.l2=ttk.Label(self.window,text=’秒/次’) self.b1 = ttk.Button(self.window, text=’開始’, ) self.b2 = ttk.Button(self.window, text=’退出’,) self.m=Menu(self.window) self.window[’menu’]=self.m self.s1=Menu(self.m,tearoff=False) self.s2=Menu(self.m,tearoff=False) self.s3=Menu(self.m,tearoff=False) def place_widget(self): self.l0.pack() self.l1.place(x=20, y=90) self.t1.place(x=40, y=60, width=150, height=80) self.l1.place(x=20, y=162) self.c1.place(x=65, y=160,width=80) self.l2.place(x=160,y=160) self.b1.place(x=20, y=200) self.b2.place(x=125, y=200) def config_widget(self): self.b1.config(command=lambda: self.thread_it(self.start)) self.b2.config( command=self.window_quit) rate_list=[’1’,’0.1’,’0.01’] self.c1.config(value=rate_list) self.m.add_cascade(label=’文件’,menu=self.s1) self.s1.add_command(label=’退出’,command=self.window_quit) self.m.add_cascade(label=’操作’,menu=self.s2) self.m.add_cascade(label=’關于’,menu=self.s3) self.s2.add_command(label=’開始 F9’,command=lambda: self.thread_it(self.start)) self.s2.add_command(label=’停止 F10’,command=lambda: self.thread_it(self.start)) self.s3.add_command(label=’說明’,command=self.show_infos) #設置熱鍵 self.window.bind(’<F9>’,lambda: self.thread_it(self.pre_start)) self.window.bind(’<F10>’,lambda: self.thread_it(self.pre_start)) self.window.bind(’<Escape>’,self.escape) self.window.bind(’<FocusIn>’,self.clear_content) self.window.protocol(’WM_DELETE_WINDOW’,self.window_quit) def clear_content(self,event): self.t1.delete(0.0,END) def pre_start(self,event): self.start() def start(self): if self.b1[’text’]==’開始’: self.flag=True t1_content = self.t1.get(1.0, ’end’).strip() if len(t1_content) != 0: gap = self.c1.get() try: if re.match(’(^0|^1).{0,1}d+$’, gap) or int(gap) > 0: # 將t1內容復制到剪切板 pyperclip.copy(t1_content) keyboard = Controller() self.b1.config(text=’停止’) self.t1.config(state=’disable’) while True: # 使用control+v組合鍵進行粘貼 if self.flag:keyboard.press(Key.ctrl.value)keyboard.press(’v’)keyboard.release(’v’)keyboard.release(Key.ctrl.value)keyboard.press(Key.enter.value)keyboard.release(Key.enter.value)print(t1_content)time.sleep(float(gap)) else:break else: messagebox.showerror(’錯誤’, ’請輸入正確的數值!’) self.c1.delete(0, END) except ValueError: messagebox.showerror(’錯誤’, ’請輸入正確的數值!’) self.c1.delete(0, END) else: messagebox.showerror(’錯誤’, ’還沒有輸入內容’) else: self.flag=False self.b1.config(text=’開始’) def thread_it(self,func,*args): t=threading.Thread(target=func,args=args) t.setDaemon(True)#設置守護線程,即主線程結束,子線程也結束 t.start() def show_infos(self): messagebox.showinfo(’說明’,’***本軟件完全免費***nn1.輸入刷屏內容n2.選擇(輸入)刷屏頻率n3.開始(F9)刷屏n4.停止(F10)刷屏’) def window_quit(self): ret=messagebox.askyesno(’退出’,’是否要退出?’) if ret: self.window.destroy() def escape(self,event): self.window_quit()if __name__ == ’__main__’: a=App()五.總結

本次使用tkinter寫了一款刷屏器,能夠實現短時間內相同文本的發送,繼而實現刷屏的目的。在代碼的撰寫上,模擬鍵盤輸入主要參考了:

python模擬鼠標點擊和鍵盤輸入的操作

實現了組合鍵Ctrl+V的操作。本篇技術含量不多,重點在代碼邏輯思路上。

到此這篇關于python3 GUI刷屏器(附源碼)的文章就介紹到這了,更多相關python刷屏器內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 不锈钢水管-不锈钢燃气管-卫生级不锈钢管件-不锈钢食品级水管-广东双兴新材料集团有限公司 | 济宁工业提升门|济宁电动防火门|济宁快速堆积门-济宁市统一电动门有限公司 | 知网论文检测系统入口_论文查重免费查重_中国知网论文查询_学术不端检测系统 | 安驭邦官网-双向万能直角铣头,加工中心侧铣头,角度头[厂家直销] 闸阀_截止阀_止回阀「生产厂家」-上海卡比阀门有限公司 | 水篦子|雨篦子|镀锌格栅雨水篦子|不锈钢排水篦子|地下车库水箅子—安平县云航丝网制品厂 | 外观设计_设备外观设计_外观设计公司_产品外观设计_机械设备外观设计_东莞工业设计公司-意品深蓝 | 英思科GTD-3000EX(美国英思科气体检测仪MX4MX6)百科-北京嘉华众信科技有限公司 | LED太阳能中国结|发光红灯笼|灯杆造型灯|节日灯|太阳能灯笼|LED路灯杆装饰造型灯-北京中海轩光电 | 安全光栅|射频导纳物位开关|音叉料位计|雷达液位计|两级跑偏开关|双向拉绳开关-山东卓信机械有限公司 | 广东机电安装工程_中央空调工程_东莞装饰装修-广东粤标建设有限公司 | 软装设计-提供软装装饰和软装配饰及软装陈设的软装设计公司 | 聚氨酯催化剂K15,延迟催化剂SA-1,叔胺延迟催化剂,DBU,二甲基哌嗪,催化剂TMR-2,-聚氨酯催化剂生产厂家 | 国产液相色谱仪-超高效液相色谱仪厂家-上海伍丰科学仪器有限公司 | 扫地车厂家-山西洗地机-太原电动扫地车「大同朔州吕梁晋中忻州长治晋城洗地机」山西锦力环保科技有限公司 | 精雕机-火花机-精雕机 cnc-高速精雕机-电火花机-广东鼎拓机械科技有限公司 | 上海道勤塑化有限公司| 磁粉制动器|张力控制器|气胀轴|伺服纠偏控制器整套厂家--台灵机电官网 | 螺杆式冷水机-低温冷水机厂家-冷冻机-风冷式-水冷式冷水机-上海祝松机械有限公司 | 成都竞价托管_抖音代运营_网站建设_成都SEM外包-成都智网创联网络科技有限公司 | 隧道风机_DWEX边墙风机_SDS射流风机-绍兴市上虞科瑞风机有限公司 | 深圳高新投三江工业消防解决方案提供厂家_服务商_园区智慧消防_储能消防解决方案服务商_高新投三江 | 注浆压力变送器-高温熔体传感器-矿用压力传感器|ZHYQ朝辉 | 成都顶呱呱信息技术有限公司-贷款_个人贷款_银行贷款在线申请 - 成都贷款公司 | 中开泵,中开泵厂家,双吸中开泵-山东博二泵业有限公司 | 玻璃钢罐_玻璃钢储罐_盐酸罐厂家-河北华盛节能设备有限公司 | 山东氧化铁红,山东铁红-淄博科瑞化工有限公司 | 防勒索软件_数据防泄密_Trellix(原McAfee)核心代理商_Trellix(原Fireeye)售后-广州文智信息科技有限公司 | 氧化锆陶瓷_氧化锆陶瓷加工_氧化锆陶瓷生产厂家-康柏工业陶瓷有限公司 | 全钢实验台,实验室工作台厂家-无锡市辰之航装饰材料有限公司 | 华禹护栏|锌钢护栏_阳台护栏_护栏厂家-华禹专注阳台护栏、楼梯栏杆、百叶窗、空调架、基坑护栏、道路护栏等锌钢护栏产品的生产销售。 | 高扬程排污泵_隔膜泵_磁力泵_节能自吸离心水泵厂家-【上海博洋】 | 回转窑-水泥|石灰|冶金-巩义市瑞光金属制品有限责任公司 | LNG鹤管_内浮盘价格,上装鹤管,装车撬厂家-连云港赛威特机械 | b2b网站大全,b2b网站排名,找b2b网站就上地球网| 振动筛-交叉筛-螺旋筛-滚轴筛-正弦筛-方形摇摆筛「新乡振动筛厂家」 | 环氧乙烷灭菌器_压力蒸汽灭菌器_低温等离子过氧化氢灭菌器 _低温蒸汽甲醛灭菌器_清洗工作站_医用干燥柜_灭菌耗材-环氧乙烷灭菌器_脉动真空压力蒸汽灭菌器_低温等离子灭菌设备_河南省三强医疗器械有限责任公司 | 捆扎机_气动捆扎机_钢带捆扎机-沈阳海鹞气动钢带捆扎机公司 | TPE_TPE热塑性弹性体_TPE原料价格_TPE材料厂家-惠州市中塑王塑胶制品公司- 中塑王塑胶制品有限公司 | 拉卡拉POS机官网 - 官方直营POS机办理|在线免费领取 | 100_150_200_250_300_350_400公斤压力空气压缩机-舰艇航天配套厂家 | 黄石东方妇产医院_黄石妇科医院哪家好_黄石无痛人流医院 |