亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

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

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

瀏覽:24日期: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 編程
相關文章:
主站蜘蛛池模板: 国产久热美女福利视频 | 一级毛片成人午夜 | 爱爱激情网 | 久久久亚洲国产精品主播 | 国产一级特黄a大片99 | 欧美色v| 精品国内视频 | 爱爱视频在线免费观看 | 国产精品欧美在线不卡 | 久久精品毛片 | 八十老妇xxxxx性开放 | 欧美日本俄罗斯一级毛片 | 亚洲视频91 | 青青草91在线 | 香蕉视频久久 | 久久婷婷国产综合精品青草 | 一日本道加勒比高清一二三 | 精品精品精品 | 高清中国一级毛片免费 | 日韩欧美中文字幕在线播放 | 国产一区二区三区高清视频 | 免费视频一区 | 麻豆视频网 | 亚洲国产一区二区三区四区五区 | 最新亚洲手机在线人成网站 | 一级黄色影院 | 免费视频片在线观看大片 | 精品特级一级毛片免费观看 | 污污网站免费入口链接 | 亚洲一区免费观看 | 国产精品无码2021在线观看 | 国产a级网站 | 亚洲综合精品成人 | 亚洲精品人成网在线播放影院 | 欧美亚洲色图视频 | 亚洲综合精品一区 | 国产欧美日韩精品第二区 | 成年人网站黄色 | 国产精品一区二区久久精品涩爱 | 日鲁夜鲁鲁狠狠综合视频 | 亚洲 欧美 日韩 在线 |