圖形用戶界面編程_第1頁
圖形用戶界面編程_第2頁
圖形用戶界面編程_第3頁
圖形用戶界面編程_第4頁
圖形用戶界面編程_第5頁
免費(fèi)預(yù)覽已結(jié)束,剩余66頁可下載查看

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

GUI本章,學(xué)習(xí)GUI(Graphics 即圖形用戶界面編程,我們可以通過python提供的豐富的GUI編程類似于“搭積木”,將一個(gè)個(gè)組件(Widget)放到窗口中。如下是windows中的畫圖軟件,就是一個(gè)典型的GUI程序:上面的各種按鈕、菜單、編輯區(qū)域等都是一個(gè)個(gè)組件,它們都放置到窗口中,并通過增加“對事件的處理”成為一個(gè)完整的程序。常用的GUItkinter(Tkinterface)是Python的標(biāo)準(zhǔn)GUI庫,支持跨平臺(tái)的GUI程序開發(fā)。tkinter適合小型的GUI程序編寫,也特別適合初學(xué)者學(xué)習(xí)GUI編程。本書以tkinter為進(jìn)功能強(qiáng)于tkinter,整體設(shè)計(jì)框架類似于MFC(FoundationClasses微軟基礎(chǔ)類庫)。QtGUIGUI程序開發(fā)PyQT是Qt工具包標(biāo)準(zhǔn)的Python實(shí)現(xiàn)。我們也可以使用QtDesginer界面設(shè)計(jì)器快速開發(fā)GUI應(yīng)用程序。tkinter提供的文檔:tkinter:或者:(相對規(guī)整,適合由于都是英文,我們在授課過程中盡量不涉及。英文好的同學(xué)可以自行查找相關(guān)說明。我們也希望英文較差的同學(xué)也能盡量多的學(xué)習(xí)英文,對于后續(xù)技術(shù)的理解有較大的幫助。大家也可以去“尚學(xué)堂”官網(wǎng)我們提供的常見0個(gè)開發(fā)詞匯。GUI編程的步驟和第一個(gè)GUI程基于tkinter模塊創(chuàng)建GUI程序包含如下4個(gè)步驟創(chuàng)建應(yīng)用程序主窗口對象(也稱:根窗口fromtkinterimportrootfromtkinterimportroot=btn01=(Buttonbtn01=btn01[btn01["text"]=通過幾何布局管理器,管理組件的大小和事件處通過綁定事件處理程序,響應(yīng)用戶操作所觸發(fā)的事 messagebox.showinfo("Message","送 messagebox.showinfo("Message","送你一朵玫瑰花,你愛上我print("送你99朵玫瑰btn01.bind("<Button-tkinter模塊,創(chuàng)建GUI應(yīng)用程序,并實(shí)現(xiàn)點(diǎn)fromfromtkinterimportfromtkinterimportroot=btn01btn01= tkinter主窗‘h+x表示距屏幕左邊的距離;-x表示距屏幕右邊的距離;+y表示距屏幕上邊的距離;-y表示距屏幕下邊的距離。fromtkinterimportroot=fromtkinterimportroot= 執(zhí)行結(jié)果GUI組件還能在里面再放置其他組件,我們稱為“容器”。Tkinter的GUI組件關(guān)系圖如下: tkinter中GUI組件的繼承關(guān)系圖Mis和Tkinter的GUIobjectis它是所有組件的根父類Wm它主要提供了一些與窗口管理器通信的功能函數(shù)接使用Tk。ck、Place、aseieigWidget是所有組件類的父類。Widget一共有四個(gè)父類:BaseWidget、Pack、GridPlace。意味著,所 GUI組件同時(shí)具備這四個(gè)父類的屬性和方法【注】想觀察類的層次結(jié)構(gòu)可以在類定義處的類名上單擊右鍵,選擇Diagram-->showTkinter 容器類,可用于為其他組件提供單獨(dú)的容器;Toplevel用于裝載其它GUI組件類似 ,但可以顯示多行文本;后來當(dāng)Label也能顯GUI應(yīng)用程序類的經(jīng)典寫本節(jié)程序也是GUI應(yīng)用程序編寫的一個(gè)主要結(jié)構(gòu),采用通過類Application組織整個(gè)GUI程序,類繼承了 及通過繼承擁有了父類的特性。通過構(gòu)造函t ()初始化窗口中的對象,通過cetedget()Frame框架是一個(gè)tkinter組件,表示一個(gè)矩形的區(qū)域。GUI"""測試一個(gè)經(jīng)典的GUI程序的寫法,使用面向?qū)romtkinterimportfromtkinterimportclass"""一個(gè)經(jīng)典的GUI程序 init(self,super().init(master) self.master=masterdef"""self.btn01=Button(self)self.btn01["text"]="點(diǎn)擊送花"self.btn01["commandself.songhua#創(chuàng)建一個(gè)退self.btnQuitButton(selftext="退出def =='main':root=Tk()app=Application(master=root)簡單組LabelLabel()主要用于顯示文本信息,也可以顯示圖像Label()有這樣一些常見屬性大小為單位(一個(gè)漢字寬度占2個(gè)字符位置,高度和英文字符一樣);如果顯示是圖像,則以像素為單位。默認(rèn)值是根據(jù)具體顯示的內(nèi)容動(dòng)態(tài)調(diào)整。指定字體和字體大小,如:font=顯示在Label上的圖像,目前tkinter只支持gif格式fgfg(foreground):前景色、bg(background):背景針對多行文字的對齊,可設(shè)置justify屬性,可選值"left","center"or"right"【示例】Label()的用"""測試Label組件的基本用法,使用面向?qū)ο蟮膄romtkinterimport*classApplication(Frame): init(self,super().init(master) self.master=masterdef"""self.label01Label(self,text="百戰(zhàn)程序員bg="black",fg="white")self.label02=Label(self,text=" ",",#顯示圖globalphoto #把photo photo=PhotoImage(file="imgs/logo.gif")self.label03=Label(self,image=photo)self.label04=Label(self,text=" 員\n老高好帥,就是做飯不行",ifname=='main':root=Tk()app=Application(master=root)運(yùn)行結(jié)果如下Options選項(xiàng)詳fredfred=Button(self,fg="red",fred["bg"]=創(chuàng)建對象后,使用config()方fred.config(fg="red",fred.config(fg="red",如何查看組件的Options可以通過打印config()方法的返回值,查看Options選通過在IDE我們可以看到如下的代classclassdefinit(self,master=None,cnf={},WIDGET-Widget.init(self,master,'button',cnf,含指定組件處于激活狀態(tài)時(shí)的背景指定組件處于激活狀態(tài)時(shí)的前景W、NWCENTER。比如NW(NorthWest)指定將信息顯示在組件的左指定組件正常顯示時(shí)的背指定在組件上顯示該選項(xiàng)指定的位圖,該選項(xiàng)值可以接的的位圖。位圖的顯示方式受anchor、justify選項(xiàng)的影響。如果同時(shí)指定了bitmaptextbitmap覆蓋文本;如果同時(shí)指定了bitmapimageimage覆蓋指定光標(biāo)在組件上的樣式。該值可以是Tk_GetCursors指定按組件關(guān)聯(lián)令方法,該方法通常在鼠標(biāo)離開組件時(shí)被觸發(fā)調(diào)指定組件處于禁用狀態(tài)時(shí)的前景指定組件上顯示的文本字指定組件正常顯示時(shí)的前指定組件在高亮狀態(tài)下的背景色指定組件在高亮狀態(tài)下的前景色指定組件在高亮狀態(tài)下的周圍方形區(qū)域的寬度,該值可以是指定組件的高度,以font選項(xiàng)指定的字體的字符高度為單位,至少為指定組件中顯示的圖像,如果設(shè)置了imagetext、中對齊)或RIGHT(右對齊)這三個(gè)值Tk_GctPixelsTk_GctPixels3DRAISED、SUNKEN、FLAT比如RAISED表示組件內(nèi)部相對于外部凸起指定組件在選中狀態(tài)下的背景色指定組在選中狀態(tài)下的前指定組件的當(dāng)前狀態(tài)。該選項(xiàng)支持NOMAL(正常)、DISAL(禁用)這兩個(gè)值1表示接收焦點(diǎn);設(shè)為0表示不接收焦點(diǎn)指定組件上顯示的文本,文本顯示格式由組件本身、anchor及justify選示格式由組件本身、anchor及justify選項(xiàng)決定指定為組件文本的第幾個(gè)字符添加下畫線,該選項(xiàng)就相當(dāng)于為組件綁定了快捷鍵font對于能支持字符換行的組件,該選項(xiàng)指定每行顯示的最大字符數(shù),超過數(shù)量的字符將會(huì)轉(zhuǎn)到下行通常用于將組件的水平滾動(dòng)改變(包括內(nèi)容滾動(dòng)或?qū)挾劝l(fā)生改變)與水平滾動(dòng)條的et方法關(guān)聯(lián),從而讓組件的水平滾動(dòng)改變傳遞到水平滾動(dòng)條通常用于將組件的垂直滾動(dòng)改變(包括內(nèi)容滾動(dòng)或高度發(fā)生改變)與垂直滾動(dòng)條的et方法關(guān)聯(lián),從而讓組件的垂直滾動(dòng)改變傳遞到垂直滾動(dòng)條Butt(按鈕用來執(zhí)行用戶的單擊操作。Buttn可以包含文本,也可以包含圖像。按鈕被單擊后會(huì)自動(dòng)調(diào)用對應(yīng)事件綁定的方法。"""測試Button組件的基本用法,使用面向?qū)ο蟮?""測試Button組件的基本用法,使用面向?qū)ο蟮膄romtkinterimportfromtkinterimportmessageboxclassApplication(Frame):definit(self,super().init(master) self.master=masterdef"""self.btn01Button(root,text="登錄globalphoto=PhotoImage(file="imgs/start.gif")self.btn02=Button(root,self.btn02.config(state="disabled")#defifname=='main':root=Tk()app=Application(master=root)運(yùn)行結(jié)果Entry單行文本Entry用來接收一行字符串的控件。如果用戶輸入的文字長度長于Entry控件的寬度時(shí),文字會(huì)自后滾動(dòng)。如果想輸入多行文本,需要使用Text控件。"""測試Entry組件的基本用法,使用面向?qū)ο蟮?""測試Entry組件的基本用法,使用面向?qū)ο蟮膄romtkinterimportfromtkinterimportclass init(self,super().init(master) self.master=masterdef"""創(chuàng)建登錄界面self.label01Label(self,text="用戶名#StringVar變量綁定#StringVar變量的值發(fā)生變化,組件內(nèi)容也變化;#組件內(nèi)容發(fā)生變化,StringVar變量的值也發(fā)生v1=self.entry01=Entry(self,textvariable=v1)#創(chuàng) self.label02=Label(self,text=" v2=deflogin(self):username=self.entry01.get()pwd=self.entry02.get() ifusername=="gaoqi"and ifname=='main':root=Tk()app=Application(master=root)界面效果Text多行文本Text(多行文本框)的主要用于顯示多行文本,還可以顯示網(wǎng)頁,,ML面,甚至CSS件等。因此,也常被當(dāng)做簡單的文本處理器、文本編輯器或者網(wǎng)頁瀏覽器來使用。比如IDEText組件構(gòu)成的。"""測試Text多行文本框組件的基本用法,使用面fromtkinterimport*importwebbrowserclass"""測試Text多行文本框組件的基本用法,使用面fromtkinterimport*importwebbrowserclass init(self,super().init(master) self.master=defself.w1=Text(root,width=40,#寬度20(10)self.w1.insert(1.0,"粒粒皆辛苦def#INSERT索引表示在光標(biāo)處插入self.w1.insert(INSERT,Gaoqi#END索引號(hào)表示在最后插入self.w1.insert(END,'[sxt]')self.w1.insert(1.8,def :行號(hào)以1開始列號(hào)以0,def#globalself.photo=PhotoImage(file="imgs/logo.gif")self.w1.image_create(END,image=self.photo)defb1Button(self.w1,text='愛尚學(xué)堂#在text創(chuàng)建組 deftestTag(self):尚學(xué)堂\n百戰(zhàn)程序員\n self.w1.tag_add("good",1.0,1.9)self.w1.tag_config("good",background="yellow",self.w1.tag_add("baidu",4.0,4.2)self.w1.tag_config("baidu",underline=True)self.w1.tag_bind("baidu","<Button-1>",defdefifname=='main':root=Tk()app=Application(master=root)運(yùn)行結(jié)果·利用TagsTagsText組件中內(nèi)容的樣式和功能。你可以修改文本的字體、尺寸和顏色。另外,Tags還允許你【示例】利用Tagfromtkinterimportimportroot=w1w1 w1.insert(INSERT,"goodgoodstudy,dayday尚學(xué)堂defw1.tag_bind("baidu","<Button-運(yùn)行結(jié)果點(diǎn)擊“”后,系統(tǒng)默認(rèn)瀏覽器打開頁面Radiobutton 單選 控件用于選擇同一組單選按鈕中的一個(gè) 可以顯示文本,也可以顯示圖像"""測試Radiobutton組件的基本用法,使用"""測試Radiobutton組件的基本用法,使用面向fromtkinterimportfromtkinterimportclassdefdefinit(self,super().init(master) self.master=defcreateWidget(self):self.v=StringVar();self.r1=Radiobutton(self,text="",self.r2Radiobutton(selftext="女性"Button(self,text="確定",defconfirm(self):別ifname=='main':root=Tk()app=運(yùn)行結(jié)果Checkbutton Checkbutton控件用于選擇多個(gè)按鈕的情況。Checkbutton"""測試Checkbutton"""測試Checkbutton組件的基本用法,使用面向fromtkinterimportfromtkinterimportmessageboxclassApplication(Frame): init(self,super().init(master) self.master=masterdefcreateWidget(self):self.codeHobby=IntVar(); Hobby=())self.c1Checkbutton(selftext="敲代碼onvalue=1,self.c2=Checkbutton(self,text=" onvalueonvalue=1,Button(self,text="確定",defifHobby.get()== ifself.codeHobby.get()==1:送給他尚學(xué)堂 充饑ifname=='main':root=Tk()app=Application(master=root)運(yùn)行結(jié)果canvas畫組件等。本節(jié)我們簡單介紹canvas的使用,更加詳細(xì)和深"""測試Canvas"""測試Canvas組件的基本用法,使用面向?qū)ο蟮膄romtkinterimportfromtkinterimportmessageboximportrandomclass init(self,super().init(master) self.master=masterdefself.canvas=Canvas(self,width=300,height=200,#畫一#畫一個(gè)rectself.canvas.create_rectangle(5050100,100)#畫一.坐標(biāo)兩雙。為橢圓的邊界矩形左上角和底部右下角oval=self.canvas.create_oval(50,50,100,100)globalphoto=Button(self,text="畫10個(gè)矩形",defforiinrange(0,10):x1=y1=x2=x1+y2=y1+self.canvas.create_rectangle(x1,y1,x2,y2) =='main':root=Tk()app=Application(master=root)運(yùn)行結(jié)果一個(gè)GUI應(yīng)用程序必然有大量的組件,這些組件如何排織、管理在父組件中子組件的布局方式。tkinter提供了三種管grid布局管理grid行和列的單元格來確定,并且可以跨行和跨列,從而實(shí)現(xiàn)復(fù)雜的布局。grid()方法提供ipadx,設(shè)置子組件之間的間隔x方向或者y方向,padx,與之并列的組件之間的間隔,x方向或者西北中以及4個(gè)角“n”,“s”,“w”,“e”, 【示例】 布局用法-登錄界面設(shè)"""測試Grid布局管理器的基本用法,使用面向?qū)romtkinterimportfromtkinterimportmessageboximportrandomclass init(self,super().init(master) self.master=masterdef"""通過grid布局實(shí)現(xiàn)登錄界"""self.label01Label(self,text="用戶名")self.entry01=Entry(self) Label(self,text=" ").grid(row=1,column=0)Entry(self,show="*").grid(row=1,column=1)Button(self,text="登錄").grid(row=2,column=1,Button(self,text="取消").grid(row=2,column=2, =='main':root=Tk()app=Application(master=root)運(yùn)行結(jié)果【示例】通過 布局-實(shí)現(xiàn)計(jì)算器軟件界面面,相應(yīng)的功能暫不需要實(shí)現(xiàn)。74列的表格布局,然后""""""計(jì)算器軟件界面的設(shè)計(jì)fromtkinterimportfromtkinterimportmessageboximportrandomclassdefinit(self,super().init(master) self.master=masterdef"""通過grid布局實(shí)現(xiàn)計(jì)算器的界面 ext=(("MC","M+","M- forrindex,rinforcindex,cinenumerate(r):ifc=="=":elifc==0:elifc==".":ifname=='main':root=Tk()app=Application(master=root)pack布局管理pck按照組件的創(chuàng)建順序?qū)⒆咏M件添加到父組件中,按照垂直或者水平的方向自然排布。如果不指定任何選項(xiàng),默認(rèn)在父組件中自頂向下垂直添加組件。pack是代碼量最少,最簡單的一種,可以用于快速界面pack()方法提供的選名描取值范當(dāng)值為“yes”時(shí),side選項(xiàng)無效。組件顯示在父配件中心位置;若選項(xiàng)為”both”,則填充父組件的剩余“yes”,自然數(shù),”no”,0(默認(rèn)值或填充x(y)方向上的空間,當(dāng)屬性side=”top”或”bottom”時(shí),填充方向;當(dāng)屬性side=”left”或”right”時(shí),填充”y”方向;當(dāng)expand選“x”,“y”,(默認(rèn)值為設(shè)置子組件之間的間隔,x方向或者y方向,默認(rèn)單位為像非負(fù)浮點(diǎn)數(shù),默認(rèn)非負(fù)浮點(diǎn)數(shù),默認(rèn)定義停靠在父組件的哪一邊(默認(rèn)為將本組件于所選組建對象之前pack,類似于先創(chuàng)建本組件再創(chuàng)建選組已經(jīng)pack后的組件對將本組件于所選組建對象之后pack,類似于先創(chuàng)建選定組件再本組已經(jīng)pack后的組件對將本組件作為所選組建對象的子組件,類似于指定本組件的為選已經(jīng)pack后的組件對對齊方式,左對齊”w”,右對齊”e”,頂對齊”n”,底對齊“n”,“s”,“w”,“e”,“nw”,“se”,“ne”,“center”(默認(rèn)【老鳥建議】如上列出了pack布局所有的屬性,但是不需平排布,如果需要復(fù)雜的布局可以使用grid或place?!臼纠縫ack布局用法,制作鋼琴按鍵fromtkinter root=f2= fortxtinforforiinButton(f2,width=5,height=10,bg="black"ifi%2==0elseplace布局管理place布局管理器可以通過坐標(biāo)精確控制組件的位置,適用place()方法的選relx是相對父組件的位置。0是最左邊,0.5是正中間,1是最右邊rely是相對父組件的位置。0是最上邊,0.5是正中間,1是最下邊與relx、rely取值類似,但是相對于“n”,“s”,“w”,“e”,“nw”,“sw”,“se”,“ne”,“center”(默認(rèn)fromtkinterimportroot=root.title(fromtkinterimportroot=root.title("布局管理f1=Button(root,text="尚學(xué)運(yùn)行結(jié)果【示例】place布局管理-牌游戲牌游戲的界面設(shè)計(jì)fromtkinterimportclassdefinit(self,super().init(master) self.master=def#self.photo=牌位置控制#self.puke1=Label(self.master,image=self.photo)#self.puke1.place(x=10,y=50)self.photos=self.pukes=[Label(self.master,image=self.photos[i])foriinforiinrange(10):#為所有的Label)defchupai(self,event):ifevent.widget.winfo_y()==50:ifname=='main':root=Tk()app=Application(master=root)一個(gè)GUI應(yīng)用整個(gè)生命周期都處在一個(gè)消息循環(huán)(eventloop)中。它等待事件的發(fā)生,并作出相應(yīng)的處理。Tkinter提供了用以處理相關(guān)事件的機(jī)制.處理函數(shù)可被綁widget.bind(event,如果相關(guān)事件發(fā)生handler函數(shù)會(huì)被觸發(fā),事件對象event會(huì)傳遞給handler函數(shù)鼠標(biāo)和鍵盤事代說鼠標(biāo)左鍵按下 鼠標(biāo)左鍵釋<B1-鼠標(biāo)指針進(jìn)入某一組件區(qū)鼠標(biāo)指針離開某一組件區(qū)<KeyPress-a<KeyPress-A鍵(同時(shí)按下alt和a;alt可用ctrlshiftCTRLV鍵被同時(shí)按下,Vevent對象常用屬名說按鍵字符,僅對鍵盤事按鍵編碼,僅對鍵盤事鍵的char:鍵的 鍵的鍵的 鍵的 鍵的鼠標(biāo)按鍵,僅對鼠標(biāo)事所觸發(fā)的事件類引起事件的組組件改變后的大小,僅Configure有鼠標(biāo)當(dāng)前位置,相對于鼠標(biāo)當(dāng)前位置,相對于整個(gè)屏#coding=utf-#測試鍵盤fromtkinterimport#coding=utf-#測試鍵盤fromtkinterimportroot=c1=Canvas(root,width=200,height=200,bg="green")defdeftestDrag(event):defdefpress_a_test(event):print("pressa")defrelease_a_test(event):print("releasea")lambda表達(dá)式詳lambda表達(dá)式定義的是一個(gè)函數(shù),只適合簡單輸入?yún)ambda定義的函數(shù)也有輸入、也有輸出,只是沒有名lambda參數(shù)值列表即為輸表達(dá)式計(jì)算的結(jié)構(gòu)即為輸add3argslambdax,y,z:x+y+z上面的lambdadefreturn 表達(dá)式的參數(shù)值列表可以為如下lambda說xy函數(shù)沒有輸入?yún)?shù),輸出 函數(shù)沒有輸入?yún)?shù),輸出 aaa(3,4)的果 輸入是任意個(gè)數(shù)的參數(shù),輸出是它們的**kwargs:輸入是任意鍵值對參數(shù),輸出 我們在平時(shí)使用時(shí),注 只是一個(gè)函數(shù)(沒名字的函數(shù)),功能不強(qiáng),不要過使用lambda表達(dá)式實(shí)現(xiàn)傳#coding=utf-#測試#coding=utf-#測試command屬性綁定事件,測試lambda表達(dá)fromtkinterimportroot=defdefmouseTest2(a,b):Button(root,text="測試command1",Button(root,text="測試command2",command=lambdamouseTest2("gaoqi",·組件對象的綁定通過command屬性綁定(適合簡單不需獲取event對象Button(root,text=”登錄通過bind()方法綁定(適合需要獲取 對象c1=Canvas();c1.bind(“<Button-·組件類的綁定調(diào)用對象的bind_class函數(shù),將該組件類所有的組件綁定事件比如:btn01.bind_class(“Button”,”<Button-#coding=utf-#多種事from#coding=utf-#多種事fromtkinterimportroot=defdefmouseTest2(a,b):print("a={0},b={1}".format(a,b))defb1Button(root,text="bind()綁定")#bind方式綁#command屬性直接b2Button(roottext="command=lambda:mouseTest2("gaoqi","xixi"))#給所有Button按鈕都綁定右<Button-b1.bind_class("Button","<Button-2>",其他組我們面介紹了最常用的幾個(gè)組件,接下來我們介紹其他 選擇 (選擇項(xiàng))用來做多選一,選中的在頂部顯示。 fromtkinter root=Tk();root.geometry("200x100") fromtkinter root=Tk();root.geometry("200x100")v=StringVar(root);v.set("百戰(zhàn)程序om (root,v,"尚學(xué)堂","百戰(zhàn)程序員","卓越班[保18 值運(yùn)行結(jié)果Scale移動(dòng)Scale(移動(dòng)滑塊)用于在指定的數(shù)值區(qū)間,通過滑塊的移選擇值 fromtkinter root fromtkinter root=defprint("滑塊的值:",value)newFont"宋體",value)s1=a=Label(root,a=Label(root,text="百戰(zhàn)程序員運(yùn)行結(jié)果顏色選擇顏色選擇框可以幫助我們設(shè)置背景色、前景色、畫筆顏色、字體顏色等等。fromtkinter fromtkinter.colorchooserimport*root=Tk();root.geometry("400x150")defs1=askcolor(color="red",title="選擇背景色 運(yùn)行結(jié)果文件文件框幫助我們實(shí)現(xiàn)可視化的操作、操作文件。最后,將文件、的信息傳入到程序中。文件框包含如函數(shù)框說文件返回打開的文件返回打開的多個(gè)文件名列返回打開的文件對象返回打開的文件對象的列)框返 保存返回保存的文件對象返回保存的文件參數(shù)說舉默認(rèn)后文件顯示過濾初初始文父窗口,默認(rèn)口窗口標(biāo)fromfromtkinter fromtkinter.filedialogimportroot=deffaskopenfilename(title=show=運(yùn)行結(jié)果fromtkinterfromtkinter fromtkinter.filedialogimportroot=defwithaskopenfile(title="上傳文initialdir="d:",filetypes=[("文本",".txt")])asshow=簡單輸入simpledialog(簡單框)包含如下常用函數(shù)函數(shù)說輸入并返回浮點(diǎn)輸入并返回整輸入并返回字符kw為各種選項(xiàng):initialvalue(初始值minvalue(最小值、 fromtkinter fromtkinter fromtkinter.simpledialogimportroot=show=aaskinteger(title= 自運(yùn)行結(jié)果自通用消息點(diǎn)擊確定、取消。如下列出了messagebox的常見函數(shù):函數(shù)說例話Yes/No問題框問題錯(cuò)誤消息對消息警告消息 fromtkinter fromtkinter from

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論