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

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

Python基礎學習之奇異的GUI對話框

瀏覽:49日期:2022-06-18 10:31:27
目錄一、漂亮的標簽圖和按鈕圖二、窗口協議與窗口頂層三、標準對話框是模態對話框四、標準對話框的多欄使用一、漂亮的標簽圖和按鈕圖

這個標簽的設置config,如果熟悉office的操作,應該是一件不太難的事情。仿照文本的字體,顏色,字號,還有標簽的高度寬度等等,做一個標簽的仿本py文件如下:文件在我的pywenjianjia之下。

from tkinter import *root = Tk()labelfont = (’times’, 28, ’bold’)widget = Label(root, text=’Hello tkinter world, I came here!’)widget.config(bg=’black’, fg=’yellow’)widget.config(font=labelfont)widget.config(height=5, width=40)widget.pack(expand=YES, fill=BOTH)root.mainloop()

在atom的packages中點python runner執行這個文件,于是就出現

Python基礎學習之奇異的GUI對話框

如果你想做個還有點動態的按鈕圖片,可以使用button.py文件,也是來一個仿制的py文件。

在from tkinter import *widget = Button(text=’BUTTON’, padx=20, pady=20)widget.pack(padx=30, pady=30)widget.config(cursor=’gumby’)widget.config(bd=8, relief=RAISED)widget.config(bg=’dark green’, fg=’white’)widget.config(font=(’helvetica’, 24, ’underline italic’))mainloop()

在atom的packages中點python runner執行這個文件,于是就出現:一個漂亮的、彩色的、而且可按動的按鈕圖片。

Python基礎學習之奇異的GUI對話框

二、窗口協議與窗口頂層

早年寫那本《創新思維》教材時,學習visio畫圖花了點功夫,那時佩服visio軟件在平面上的分層功夫。也就一個只給你平面感的屏幕,卻可以畫出很多奇奇怪怪的東西,還可以一層一層地疊放,并配置以不同的色彩。編程學到這里,過去那種怪怪的感覺因為這么多年計算機技術的不斷升級,好多讓你奇異的東西,早被更多超越給沖淡了。但你還是要為接觸GUI的圖片來一點驚喜感,而且還讓你知道,這個魔幻平面的屏幕,還有相應的協議在發揮作用。我原以為,這個協議稱為協議,一定有個協議各方的約定,是個超越GUI之外的東西呢,原來也是一個py代碼的GUI文件。而且,這個文件還有一個怪異,按照教材中的安排,你想去執行它,文件就顯示有誤。但試探著種種辦法好像依然有誤。回看教材文本,在窗口圖標那一節似乎有個暗示,干脆去掉那個iconbitmap代碼行,也就是去掉那個18行代碼,文件就可以執行了。

展示文件的注釋有點協議文本的味道,這大概就是協議的主要內容吧。我先給出總共28行的代碼文件。

'''彈出三個窗口,destroy()會停止一個窗口,quit()則停止所有窗口.頂層窗口有標題、圖標、協議等等,總是會有一個應用程序窗口。頂層窗口都是容器,但不會封裝/網格化。toplevel就像frame,它是新窗口且包含一個菜單。'''from tkinter import *root = Tk() #顯示根窗口trees = [(’The tkinter 之旅!’,’light blue’),(’The Paint!’, ’light green’),(’The Giant wetearth !’, ’red’)]for(tree, color) in trees: win = Toplevel(root) #新建窗口 win.title(’Sing...’) #設置邊框 win.protocol(’WM_DELETE_WINDOW’, lambda:None) #忽略關閉 win.iconbitmap(’py-blue-trans-out.ico’) #非紅色Tk,有這一行則不運行 msg = Button(win, text=tree, command=win.destroy) #關閉一個win msg.pack(expand=YES, fill=BOTH) msg.config(padx=10, pady=10, bd=10, relief=RAISED) msg.config(bg=’black’, fg=color, font=(’times’, 30, ’bold italic’))root.title(’Lumberjack demo’)Label(root, text=’Main window’, width=30).pack()Button(root, text=’Quit All’, command=root.quit).pack() #終止所有程序root.mainloop()

執行這個文件,出現以下結果:

Traceback (most recent call last): File 'C:Userszzx21GUITourtoplevel2.py', line 18, in <module> win.iconbitmap(’py-blue-trans-out.ico’) #非紅色Tk,有這一行則不運行 File 'C:Userszzx21pywenjianjialibtkinter__init__.py', line 2080, in wm_iconbitmap return self.tk.call(’wm’, ’iconbitmap’, self._w, bitmap)_tkinter.TclError: bitmap 'py-blue-trans-out.ico' not definedC:Userszzx21GUITour>

現在去掉行18,三個窗口按鈕全出現了,還外帶一個quit圖標。使用shell的移動提示符,這些文件可以移動到屏幕上你想放置的地方,有點意思。

Python基礎學習之奇異的GUI對話框

三、標準對話框是模態對話框

計算機語言也常常使用邏輯學的一些術語,tkinter之旅中講到的對話框,竟然有模態對話框和非模態對話框之說。這好像在拉近py語言和邏輯之間的距離,讓人有一點緣分之感。你只要對現代邏輯歷史稍有理解就知道,20世紀初成熟的現代邏輯,到了20年代,出現了和經典邏輯有點變異的邏輯,那就是非經典的模態邏輯,美國學者C.I.劉易斯構造了嚴格蘊涵系統的S1-S5,現在所說的模態邏輯就產生了,學名就叫modal logic。而對話框中提到的模態對話框與非模態對話框中的模態一詞的英文,就是這個modal。但深入一點,好像這里的模態modal和邏輯的modal并沒有什么關聯,只是在用詞上的一個巧合吧。沿著教材的思路,先把標準對話框做個基本了解,大概能說明這種巧合。標準對話框也稱通用對話框,這樣的對話框也是模態的。這里modal的意思是:這樣的對話框會阻止其它界面,這些界面只有在用戶關閉該對話框的時候才可能返回。所以,所謂標準對話框或者模態對話框,只要它在屏幕上出現,就把其它的窗口界面給強制擋住了。為什么這就是modal的,按我對于modal的理解,好像一點modal的含義都沒有。因為邏輯中的模態總是指的互為定義的模態詞,例如必然與可能,應該與禁止等等,好像沒有這里的行為意義。且讓我們用實例的模態對話框,來表明它的含義吧。雖然modal在這里的含義有點模糊,但實例的出現會消解我們對它的迷惑。很可能python中的模態和邏輯的模態就不是一回事,一種語詞使用的巧合罷了。標準對話框dIg1.pyw,

from tkinter import *from tkinter.messagebox import *def callback(): if askyesno(’Verify’, ’Do you really want to quit?’):showwarning(’Yes’, ’Quit not yet implemented’) else:showinfo(’No’, ’Quit has been cancellled’)errmsg = ’Sorry, no Spam allowed!’Button(text=’退出’, command=callback).pack(fill=X)Button(text=’垃圾’, command=(lambda: showerror(’Spam’, errmsg))).pack(fill=X)mainloop()

我用中文按鈕替換英文按鈕,出現了中文的對話框。這些對話框按鈕是可以按動然后給出選擇的,如下兩圖。按退出有如下選擇

Python基礎學習之奇異的GUI對話框

按垃圾有如下選擇

Python基礎學習之奇異的GUI對話框

四、標準對話框的多欄使用

先做出一個回調演示表的py文件,它可以作為模塊反復使用,這就使得對話框的制作多樣化起來。我依然把這些對話框的按鈕用中文標識,然后再做一個多重的按鈕欄文件,于是你看到一個更多功能的對話框圖。一個可以打開文件,選擇顏色,輸入字符等等的對話框。把所有代碼的功能全都理解清楚,還沒有到火候,但終于可以照葫蘆畫瓢地把這些圖框及其作用顯示出來了。演示按鈕集合的py文件demoDIg.py

from tkinter import *from dialogTable import demosfrom quitter import Quitterclass Demo(Frame): def __init__(self, parent=None, **options):Frame.__init__(self, parent, **options)self.pack()Label(self, text=’Basic demos’).pack()for (key, value) in demos.items(): Button(self, text=key, command=value).pack(side=TOP, fill=BOTH)Quitter(self).pack(side=TOP, fill=BOTH)if __name__==’__main__’: Demo().mainloop()

執行這個文件,于是出現按鈕欄對話框

Python基礎學習之奇異的GUI對話框

如果點打開按鈕,則打開了window的文檔文件

Python基礎學習之奇異的GUI對話框

如果點擊顏色,則可在顏色框中選擇顏色。

Python基礎學習之奇異的GUI對話框

如果點擊輸入,則可在輸入框中按要求輸入數字。

Python基礎學習之奇異的GUI對話框

這個對話框的初步理解,頗有點開人眼界。作為計算機科學中的python語言,真有超越自然語言的諸多功能。沖著這一點,這個編程語言再難,也得一點一點地堅持學下去。

到此這篇關于Python基礎學習之奇異的GUI對話框的文章就介紹到這了,更多相關Python GUI對話框內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 上海办公室设计_办公楼,写字楼装修_办公室装修公司-匠御设计 | 都江堰招聘网-都江堰人才网 都江堰人事人才网 都江堰人才招聘网 邢台人才网_邢台招聘网_邢台123招聘【智达人才网】 | 升降机-高空作业车租赁-蜘蛛车-曲臂式伸缩臂剪叉式液压升降平台-脚手架-【普雷斯特公司厂家】 | 生物制药洁净车间-GMP车间净化工程-食品净化厂房-杭州波涛净化设备工程有限公司 | 合金耐磨锤头_破碎机锤头_郑州市德勤建材有限公司 | 杭州翻译公司_驾照翻译_专业人工翻译-杭州以琳翻译有限公司官网 组织研磨机-高通量组织研磨仪-实验室多样品组织研磨机-东方天净 | 天津电机维修|水泵维修-天津晟佳机电设备有限公司 | 直读光谱仪,光谱分析仪,手持式光谱仪,碳硫分析仪,创想仪器官网 | atcc网站,sigma试剂价格,肿瘤细胞现货,人结肠癌细胞株购买-南京科佰生物 | 嘉兴恒升声级计-湖南衡仪声级计-杭州爱华多功能声级计-上海邦沃仪器设备有限公司 | 除湿机|工业除湿机|抽湿器|大型地下室车间仓库吊顶防爆除湿机|抽湿烘干房|新风除湿机|调温/降温除湿机|恒温恒湿机|加湿机-杭州川田电器有限公司 | 智能风向风速仪,风速告警仪,数字温湿仪,综合气象仪(气象五要素)-上海风云气象仪器有限公司 | 天津市能谱科技有限公司-专业的红外光谱仪_红外测油仪_紫外测油仪_红外制样附件_傅里叶红外光谱技术生产服务厂商 | 河南档案架,档案密集架,手动密集架,河南密集架批发/报价 | 成都网站建设制作_高端网站设计公司「做网站送优化推广」 | 分类168信息网 - 分类信息网 免费发布与查询 | 直流电能表-充电桩电能表-导轨式电能表-智能电能表-浙江科为电气有限公司 | 聚丙烯酰胺PAM-聚合氯化铝PAC-絮凝剂-河南博旭环保科技有限公司 巨野电机维修-水泵维修-巨野县飞宇机电维修有限公司 | 不锈钢水箱厂家,不锈钢保温水箱-山东桑特供水设备 | 合肥抖音SEO网站优化-网站建设-网络推广营销公司-百度爱采购-安徽企匠科技 | Eiafans.com_环评爱好者 环评网|环评论坛|环评报告公示网|竣工环保验收公示网|环保验收报告公示网|环保自主验收公示|环评公示网|环保公示网|注册环评工程师|环境影响评价|环评师|规划环评|环评报告|环评考试网|环评论坛 - Powered by Discuz! | 脉冲除尘器,除尘器厂家-淄博机械 | 上海深蓝_缠绕机_缠膜机-上海深蓝机械装备有限公司 | 交通信号灯生产厂家_红绿灯厂家_电子警察监控杆_标志杆厂家-沃霖电子科技 | 智能汉显全自动量热仪_微机全自动胶质层指数测定仪-鹤壁市科达仪器仪表有限公司 | 真空粉体取样阀,电动楔式闸阀,电动针型阀-耐苛尔(上海)自动化仪表有限公司 | 重庆小面培训_重庆小面技术培训学习班哪家好【终身免费复学】 | 江苏农村商业银行招聘网_2024江苏农商行考试指南_江苏农商行校园招聘 | 英超直播_英超免费在线高清直播_英超视频在线观看无插件-24直播网 | 黑田精工电磁阀-CAMMOZI气缸-ROSS电磁-上海茂硕机械设备有限公司 | 电位器_轻触开关_USB连接器_广东精密龙电子科技有限公司 | 网站建设,北京网站建设,北京网站建设公司,网站系统开发,北京网站制作公司,响应式网站,做网站公司,海淀做网站,朝阳做网站,昌平做网站,建站公司 | 外贮压-柜式-悬挂式-七氟丙烷-灭火器-灭火系统-药剂-价格-厂家-IG541-混合气体-贮压-非贮压-超细干粉-自动-灭火装置-气体灭火设备-探火管灭火厂家-东莞汇建消防科技有限公司 | 涂层测厚仪_漆膜仪_光学透过率仪_十大创新厂家-果欧电子科技公司 | 便携式XPDM露点仪-在线式防爆露点仪-增强型烟气分析仪-约克仪器 冰雕-冰雪世界-大型冰雕展制作公司-赛北冰雕官网 | 合肥活动房_安徽活动板房_集成打包箱房厂家-安徽玉强钢结构集成房屋有限公司 | 鼓风干燥箱_真空烘箱_高温干燥箱_恒温培养箱-上海笃特科学仪器 | 油罐车_加油机_加油卷盘_加油机卷盘_罐车人孔盖_各类球阀_海底阀等车用配件厂家-湖北华特专用设备有限公司 | 100_150_200_250_300_350_400公斤压力空气压缩机-舰艇航天配套厂家 | 深圳成考网-深圳成人高考报名网 深圳工程师职称评定条件及流程_深圳职称评审_职称评审-职称网 | 航空障碍灯_高中低光强航空障碍灯_民航许可认证航空警示灯厂家-东莞市天翔航天科技有限公司 |