利用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)擊兩下就可以了",
"第一下",
"第二下",
"",
"嘿嘿,我還在,驚不驚喜?",
"什么啊,開個(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報(bào)錯(cuò)TypeError: ‘NoneType‘ object is not subscriptable的解決
這篇文章主要給大家介紹了關(guān)于python報(bào)錯(cuò)TypeError: ‘NoneType‘ object is not subscriptable的解決方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-11-11
基于Python實(shí)現(xiàn)語(yǔ)音識(shí)別功能
這篇文章給大家介紹了如何基于Python實(shí)現(xiàn)語(yǔ)音識(shí)別功能,文中通過(guò)代碼示例給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作有一定的幫助,具有一定的參考價(jià)值,需要的朋友可以參考下2023-12-12
簡(jiǎn)單了解Python write writelines區(qū)別
這篇文章主要介紹了簡(jiǎn)單了解Python write writelines區(qū)別,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-02-02
python環(huán)境功能強(qiáng)大的pip-audit安全漏洞掃描工具
這篇文章主要為大家介紹了python環(huán)境中功能強(qiáng)大的pip-audit安全漏洞掃描工具的功能介紹及安裝使用說(shuō)明,有需要的朋友可以借鑒參考下,希望能夠有所幫助2022-02-02
PyQt5 文本輸入框自動(dòng)補(bǔ)全QLineEdit的實(shí)現(xiàn)示例
這篇文章主要介紹了PyQt5 文本輸入框自動(dòng)補(bǔ)全QLineEdit的實(shí)現(xiàn)示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-05-05
高效測(cè)試用例組織算法pairwise之Python實(shí)現(xiàn)方法
下面小編就為大家?guī)?lái)一篇高效測(cè)試用例組織算法pairwise之Python實(shí)現(xiàn)方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-07-07
Python實(shí)現(xiàn)自動(dòng)計(jì)算特定格式的時(shí)間差
這篇文章主要介紹了利用Python實(shí)現(xiàn)在輸入一個(gè)特定格式的時(shí)間后,自動(dòng)獲取前進(jìn)或者后退多少小時(shí)之后的時(shí)間。感興趣的朋友可以了解一下2021-12-12

