日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術(shù)文章
文章詳情頁

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

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

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

一.準(zhǔn)備工作

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

pip install pynput

安裝

二.預(yù)覽

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

在長(zhǎng)文本框中輸入要刷屏的內(nèi)容,通過設(shè)置刷屏頻率(單位:秒)即可實(shí)現(xiàn)刷屏。

三.設(shè)計(jì)流程

詳解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’’’難點(diǎn)按鍵復(fù)用’’’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() # 獲取顯示區(qū)域的寬度 screenHeight = self.window.winfo_screenheight() # 獲取顯示區(qū)域的高度 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]) # 括號(hào)里為需要顯示在圖形化界面里的圖片 photo = photo.resize((150, 50)) # 規(guī)定圖片大小 self.paned.img = ImageTk.PhotoImage(photo) self.l0 = Label(self.window, image=self.paned.img, justify=’center’) self.l1 = ttk.Label(self.window, text=’內(nèi)容:’) 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=’關(guān)于’,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) #設(shè)置熱鍵 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內(nèi)容復(fù)制到剪切板 pyperclip.copy(t1_content) keyboard = Controller() self.b1.config(text=’停止’) self.t1.config(state=’disable’) while True: # 使用control+v組合鍵進(jìn)行粘貼 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(’錯(cuò)誤’, ’請(qǐng)輸入正確的數(shù)值!’) self.c1.delete(0, END) except ValueError: messagebox.showerror(’錯(cuò)誤’, ’請(qǐng)輸入正確的數(shù)值!’) self.c1.delete(0, END) else: messagebox.showerror(’錯(cuò)誤’, ’還沒有輸入內(nèi)容’) else: self.flag=False self.b1.config(text=’開始’) def thread_it(self,func,*args): t=threading.Thread(target=func,args=args) t.setDaemon(True)#設(shè)置守護(hù)線程,即主線程結(jié)束,子線程也結(jié)束 t.start() def show_infos(self): messagebox.showinfo(’說明’,’***本軟件完全免費(fèi)***nn1.輸入刷屏內(nèi)容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()五.總結(jié)

本次使用tkinter寫了一款刷屏器,能夠?qū)崿F(xiàn)短時(shí)間內(nèi)相同文本的發(fā)送,繼而實(shí)現(xiàn)刷屏的目的。在代碼的撰寫上,模擬鍵盤輸入主要參考了:

python模擬鼠標(biāo)點(diǎn)擊和鍵盤輸入的操作

實(shí)現(xiàn)了組合鍵Ctrl+V的操作。本篇技術(shù)含量不多,重點(diǎn)在代碼邏輯思路上。

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

標(biāo)簽: Python 編程
相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
影视先锋久久| 在线亚洲欧美| 日本综合精品一区| 亚洲毛片视频| 日本亚洲视频| 欧美在线精品一区| 国产精品日韩精品在线播放| 日韩二区在线观看| 国产精品中文字幕制服诱惑| 国产精品伦一区二区| 欧美aⅴ一区二区三区视频| 精品五月天堂| 日本免费一区二区三区四区| 日韩av在线播放网址| 久久久久91| 在线一区免费观看| 婷婷五月色综合香五月| 国产日韩欧美| 成人影视亚洲图片在线| 欧美日韩一区二区三区视频播放| 国产模特精品视频久久久久| 日韩中文字幕无砖| 欧美国产亚洲精品| 日本韩国欧美超级黄在线观看| 日韩中文在线播放| 蜜臀av免费一区二区三区| 亚洲欧美日韩国产一区| 日本欧美在线| 精品国产一区二| 国产专区一区| 婷婷精品在线观看| 国产精品综合| 美女网站视频一区| 亚洲乱码久久| 国产一区二区久久久久| 亚洲国产不卡| 久久精品av麻豆的观看方式| 国产精品原创| 国产精品婷婷| 国产极品一区| 精品一区欧美| 日韩av一区二区三区四区| 成人精品高清在线视频| 亚洲一区亚洲| 欧美激情在线精品一区二区三区| 日韩免费久久| 亚洲影视一区二区三区| 麻豆国产91在线播放| 国精品一区二区三区| 欧美亚洲国产日韩| 999精品在线| 国产午夜精品一区在线观看| 99久久激情| 国产剧情一区| 欧美特黄一区| 国产一区二区久久久久| 综合激情在线| 日韩在线欧美| 国产亚洲高清在线观看| 午夜久久影院| 精品美女在线视频| 蜜桃视频一区二区三区在线观看| 美女久久精品| 亚洲伊人精品酒店| 天堂中文av在线资源库| 青青草91视频| 伊人精品视频| av免费不卡国产观看| 日本不卡一二三区黄网| 1024精品一区二区三区| 国产精品久久国产愉拍| 日韩在线a电影| 日韩免费高清| 国产精品videossex| 久久国产精品毛片| 日韩成人亚洲| 国产精品sss在线观看av| 伊人久久亚洲影院| 日韩一区二区中文| 精品午夜av| 国产精品一区高清| 蜜桃av一区二区在线观看| 日韩欧美在线中字| 麻豆精品在线观看| 午夜久久av| 六月丁香综合| 99久久www免费| 高清在线一区| 国产精品入口久久| 欧美日韩18| 少妇精品在线| 亚洲激情中文| 成人免费电影网址| 国产va免费精品观看精品视频| 欧美日本二区| 视频一区日韩精品| 久久aⅴ国产紧身牛仔裤| 免费av一区二区三区四区| 欧美天堂视频| 麻豆视频在线看| 精品色999| 卡一精品卡二卡三网站乱码| 国产麻豆精品久久| 国产日韩中文在线中文字幕 | 荡女精品导航| 国产精品久久久久久妇女| 欧美一区二区三区久久| 日韩精品欧美成人高清一区二区| 久热精品在线| 免播放器亚洲| 美女91精品| 亚洲欧美日韩国产| 最近国产精品视频| 综合视频一区| 日韩一区二区三区四区五区| 蜜臀va亚洲va欧美va天堂| 亚洲自拍另类| 噜噜噜久久亚洲精品国产品小说| 欧美午夜不卡| 欧美特黄一区| 视频一区二区三区入口| 免费在线观看一区二区三区| 日av在线不卡| 一区二区三区网站| 日韩精品欧美精品| 国产欧美丝祙| 麻豆精品视频在线观看免费| 精品精品99| 精品免费av| 欧美成a人国产精品高清乱码在线观看片在线观看久 | 日韩欧美三级| 91精品推荐| 国产精品嫩草99av在线| 蜜臀a∨国产成人精品| 日韩精品一区二区三区中文| 欧美在线91| 精品视频高潮| 成人羞羞视频在线看网址| 激情欧美一区| 免费精品视频| 国产亚洲久久| 国产一区二区三区免费在线| 国产美女高潮在线| 欧美1区免费| 免费看日韩精品| 日韩福利视频一区| 久久伊人亚洲| 亚洲视频综合| 亚洲精品高潮| 精品亚洲成人| 婷婷激情综合| 日韩精品乱码av一区二区| 美女精品久久| 不卡中文一二三区| 日韩精品视频网站| 高清日韩中文字幕| 亚洲精品极品少妇16p| 日韩中文一区二区| 97精品在线| 性欧美长视频| 国产劲爆久久| 婷婷成人在线| 日韩avvvv在线播放| 久久精品毛片| 成人av动漫在线观看| 日本aⅴ免费视频一区二区三区| 精品午夜视频| 亚洲深夜av| 久久99久久久精品欧美| 婷婷综合亚洲| 国产精品欧美大片| 99久久婷婷这里只有精品| 亚洲啊v在线免费视频| 91综合网人人| 亚洲精品在线二区| 吉吉日韩欧美| 亚洲精品裸体| 日韩在线欧美| 婷婷成人av| 国产精品xx| 亚洲天堂日韩在线| 在线天堂中文资源最新版| 日本欧美在线看| 日韩精品dvd| 日韩成人av影视| 99精品网站| 国产亚洲久久| 黄色免费成人| 精品视频在线你懂得| 中文字幕中文字幕精品| 国产夫妻在线| 日韩欧美四区| 国产99久久久国产精品成人免费| 国产精品黄网站| 欧美专区18| 日韩精品诱惑一区?区三区| 日韩成人av影视| 在线亚洲激情| 亚洲风情在线资源| 国产欧美另类|