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