利用Python制作一個(gè)愚人節(jié)整蠱消息框
messagebox
tkinter.messagebox
中封裝了多種消息框,其輸入?yún)?shù)統(tǒng)一為title
, message
以及其他參數(shù)。其中title
表示消息框窗口的名字,message
為消息框內(nèi)容。
下面將這些消息框統(tǒng)一展示一下
from multiprocessing import Process from tkinter.messagebox import * msgDct = { "showinfo": showinfo, "showwarning": showwarning, "showerror": showerror, "askquestion": askquestion, "askokcancel": askokcancel, "askretrycancel": askretrycancel, "askyesno": askyesno, "askyesnocancel": askyesnocancel} for key in msgDct: Process(target=msgDct[key], args=(key, f"I'm {key}")).start()
效果為
其中Process
為多進(jìn)程模塊,否則這些對(duì)話框不會(huì)一起彈出。
這些信息框在設(shè)計(jì)之初似乎是各有所用的,但在實(shí)際使用中可以不拘一格。
這些對(duì)話框還有一點(diǎn)些許的差別,即按鈕個(gè)數(shù)不同,例如showwarning
只有一個(gè)按鈕,則返回值只能是ok
,而askyesnocancel
有3個(gè)按鈕,按下不同的值會(huì)有不同的返回值,按下是則返回True
,按下否則返回False
,按下取消,則無(wú)返回值。
愚人節(jié)整蠱
有了這個(gè),在愚人節(jié)大有用處,代碼如下,為了場(chǎng)面不至于友盡,所以沒(méi)用多進(jìn)程,但這個(gè)邏輯很適合質(zhì)問(wèn)男朋友哈
from tkinter.messagebox import * i = 0 while True: i += 1 showerror("ERROR", f"你的第{i}條錯(cuò)誤")
效果如下
如果在上述代碼中加入Process
,那簡(jiǎn)直分分鐘爆炸,這場(chǎng)面想都不敢想。
我記得小時(shí)候玩手機(jī),不小心下了一個(gè)別有用心的彈窗轟炸機(jī),里面設(shè)置了賤賤的對(duì)話框,讓人非常無(wú)語(yǔ)
from tkinter.messagebox import * msgs = [ "你好", "很高興認(rèn)識(shí)你", "想關(guān)閉彈窗嗎?", "可以點(diǎn)下取消試試", "嘿嘿嘿嘿,就喜歡看你想關(guān)又關(guān)不掉的樣子", "來(lái)打我呀", "不鬧了,再點(diǎn)擊兩下就可以了", "第一下", "第二下", "", "嘿嘿,我還在,驚不驚喜?", "什么啊,開(kāi)個(gè)玩笑,不要生氣嗎", "再點(diǎn)一下,我就給你賠罪了", "真乖,獎(jiǎng)勵(lì)你再點(diǎn)一次", "", "", "", ] for msg in msgs: showinfo("INFO", msg)
當(dāng)然,這個(gè)想關(guān)掉還是非常容易的,如果是命令行腳本,直接Ctrl
+C
就完事兒了。
消息框尺寸
在Python標(biāo)準(zhǔn)庫(kù)的文檔里,這些消息框的參數(shù)全都是(title=None, message=None, **options)
,前兩個(gè)參數(shù)分別表示標(biāo)題和內(nèi)容,后面的options
看上去是一個(gè)參數(shù)字典,實(shí)際上啥也不是。
換句話說(shuō),messagebox
并不提供修改尺寸的參數(shù),如果有強(qiáng)迫癥非要修改的話,那就得在消息內(nèi)容上做文章。
space = " "*20 txt = "\n如果你非想修改尺寸,就只能通過(guò)對(duì)文字的排版來(lái)實(shí)現(xiàn)" txt += "\n\n如果非這樣做不可的話,最后的結(jié)果可能未必如愿\n" showwarning("size changed", txt)
尺寸尚可通過(guò)調(diào)節(jié)信息內(nèi)容來(lái)進(jìn)行調(diào)整,但其他有關(guān)風(fēng)格的內(nèi)容就無(wú)法通過(guò)消息框來(lái)實(shí)現(xiàn)了。如果覺(jué)得tkinter
提供的對(duì)話框不滿意的話,那也只能自己再用窗口重新做一個(gè)了。
到此這篇關(guān)于利用Python制作一個(gè)愚人節(jié)整蠱消息框的文章就介紹到這了,更多相關(guān)Python愚人節(jié)整蠱消息框內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python獲取系統(tǒng)內(nèi)存占用信息的實(shí)例方法
在本篇文章里小編給大家整理的是關(guān)于python獲取系統(tǒng)內(nèi)存占用信息的實(shí)例方法,有需要的朋友們可以參考學(xué)習(xí)下。2020-07-07對(duì)Python的交互模式和直接運(yùn)行.py文件的區(qū)別詳解
今天小編就為大家分享一篇對(duì)Python的交互模式和直接運(yùn)行.py文件的區(qū)別詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-06-06python程序中調(diào)用其他程序的實(shí)現(xiàn)
本文主要介紹了python程序中調(diào)用其他程序的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-02-02解析Anaconda創(chuàng)建python虛擬環(huán)境的問(wèn)題
這篇文章主要介紹了Anaconda創(chuàng)建python虛擬環(huán)境,包括虛擬環(huán)境管理、虛擬環(huán)境中python包管理,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-03-03利用pyproj將經(jīng)緯度投影為平面坐標(biāo)以及地理坐標(biāo)系背景知識(shí)解讀
這篇文章主要介紹了利用pyproj將經(jīng)緯度投影為平面坐標(biāo)以及地理坐標(biāo)系背景知識(shí)解讀,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-06-06Python學(xué)習(xí)之.iloc與.loc的區(qū)別、聯(lián)系和用法
loc和iloc都是pandas工具中定位某一行的函數(shù),下面這篇文章主要給大家介紹了關(guān)于Python學(xué)習(xí)之.iloc與.loc的區(qū)別、聯(lián)系和用法的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-05-05Python守護(hù)進(jìn)程實(shí)現(xiàn)過(guò)程詳解
這篇文章主要介紹了Python守護(hù)進(jìn)程實(shí)現(xiàn)過(guò)程詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-02-02Pytorch mask-rcnn 實(shí)現(xiàn)細(xì)節(jié)分享
這篇文章主要介紹了Pytorch mask-rcnn 實(shí)現(xiàn)細(xì)節(jié)分享,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-06-06