国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

Python圖形用戶界GUI大解密(下篇)

開發 后端
這篇文章緊接著上篇文章繼續圍繞tkinter知識進行展開。希望能夠幫助到你!

[[403616]]

上篇文章我們主要介紹了tkinter的安裝、基本部件、下拉菜單、畫布等內容,Python圖形用戶界GUI大解密(上篇),這篇文章緊接著上篇文章繼續圍繞tkinter知識進行展開。

十、框架

又稱窗口,它是在原先的基礎上又創建一個窗口,一般課用于多個窗戶交互,如聊天,打游戲,我們來看下:

  1. fm = tk.Frame(root)  #在root上創建一個frame 
  2. fm.pack() #添加進去 
  3.   
  4. #在剛剛創建的frame上創建兩個frame 
  5. f1= tk.Frame(fm) 
  6. f2= tk.Frame(fm) 
  7.   
  8. #添加部件 
  9. f1.pack() 
  10. f2.pack() 
  11.  
  12. 分別給兩個frame添加兩個部件并且顏色不同,以便于區分 
  13. tk.Label(f1, text='標簽一', bg='green').pack() 
  14. tk.Button(f1, text='按鈕一', bg='green').pack() 
  15. tk.Label(f2, text='標簽二', bg='red').pack() 
  16. tk.Button(f2, text='按鈕二', bg='red').pack() 

 

我們可以簡單的理解為在主窗口中放置了一個父窗口,然后這個父窗口又增添了兩個子窗口,每個子窗口都創建了兩個部件。這個部件在我們進行交互時還是挺有用的。

十一、彈窗,輸入

1.messagebox

接下來我們要說的就是彈窗了,我們一般需要提示的地方都需要窗口,還有確認返回什么的,下面來看看:

要想正常使用這些功能,我們需要先引入一個模塊messagebox(消息盒子),彈窗我們可以把它分為以下幾種:

注意先必須導入messagebox:

  1. from tkinter  import messagebox 

1.提示信息

  1. messagebox.showinfo(title='提示',message='你需要這么做'

2.警告

  1. messagebox.showwarning(title='警告',message='你不能這么做'

3.錯誤

  1. messagebox.showerror(title='錯誤',message='你做錯了'

前面幾個都是提示彈窗,下面介紹集中與用戶交互,可以讓用戶選擇的彈窗:

4.詢問選擇

  1. messagebox.askquestion(title='選擇',message='你是否這樣做'

5.確定或取消

  1. messagebox.askokcancel(title='選擇',message='你是否這樣做'

6.是,否

  1. messagebox.askyesno(title='選擇',message='你是否這樣做'

7.重試,取消

  1. messagebox.askretrycancel(title='選擇',message='你是否這樣做'

若是你想把這所有的類型集中到一個函數中設置了,也有,它就是_show()函數,用法如下:

  1. messagebox._show函數的控制參數: 
  2. default         消息框按鈕 
  3. icon            消息框圖標 
  4. message        消息框所顯示的消息 
  5. parent          消息框的父組件 
  6. title           標題 
  7. type            類型 

2.simpledialog

為了提高用戶的交互,我們需要設置一些方框供用戶選擇,simpledialog是你必不可少的,來看下:

導入模塊:

  1. from tkinter import simpledialog 

simpledialog提供三種類型輸入,即字符串 整數 浮點。我們來寫下:

  1. simpledialog.askinteger(title='顯示',prompt='輸入',initialvalue='12'

總體來說相當簡單,沒什么可說的。

十二、文件對話框

用于打開文件對話框,選擇文件或者文件夾,下面看看它有哪些用法吧:

首先我們先導入選擇文件模塊:

  1. from tkinter import filedialog 

1.返回文件名

  1. filedialog.askopenfilename() 

2.返回文件流對象

  1. filedialog.askopenfile() 

3.返回多個文件流對象

  1. filedialog.askopenfiles() 

4.返回多個文件名對象

  1. filedialog.askopenfilenames() 

5.返回目錄名

  1. filedialog.askdirectory() 

6.返回文件流并創建文件

  1. filedialog.asksaveasfile() 

7.返回文件名保存

  1. filedialog.asksaveasfilename() 

8.打開文件對話框顯示當前目錄所有文件文件夾

  1. filedialog.LoadFileDialog(root).go() 

9.保存文件對話框

  1. filedialog.SaveFileDialog(root).go() 

十三、樹型列表

它就好像一棵樹一樣,將它的子元素包裹在里面,同樣它的模塊也是在ttk里面,請看:

  1. from tkinter import ttk 
  2. t = ttk.Treeview(root)  #加載樹型控件 
  3. t.pack() 
  4. n=t.insert('',0,text="hello",values=("1")) #插入一個值到控件中 
  5. n1=t.insert(n,1,text="cq",values=("2"))  #插入一個屬于它的子元素也就是二級元素 
  6. n2=t.insert(n,1,text="sc",values=("2")) 
  7. t.insert(n1,2,text='fd',values=("3"))  #插入一個屬于它的三級元素 
  8. t.insert(n1,2,text='we',values=("3")) 
  9. t.insert(n2,2,text='1',values=("3")) 
  10. t.insert(n2,2,text='2',values=("3")) 

 

就這樣可以一直循環插入,這樣就方便咱們列出大型項目的目錄了,你比如說磁盤目錄就可以用這個。

十四、顏色對話框

選擇顏色時使用,豐富的色彩可以讓你處理圖片畫圖,非常好用:

  1. from tkinter  import colorchooser #導入模塊 
  2. colorchooser.askcolor() #打開顏色選擇對話框 

十五、組件排版

基本上所有的組件我們都介紹完了,相信大家通過對這章的學習應該對tkinter有了個深入的了解。

除了組件的用法之外,最重要的莫過于組件的排版了,下面我們來說一下,如何讓組件放對位置。

組件有三種排列方式:pack grid place.

1.pack

它是按照上下左右的方式來排列的,例如:

  1. tk.Label(root, text='1').pack(side='top')#上 
  2. tk.Label(root, text='2').pack(side='bottom')#下 
  3. tk.Label(root, text='3').pack(side='left')#左 
  4. tk.Label(root, text='4').pack(side='right')#右 

而且它還可以設置組件填充方式,如:

  1. tk.Label(root, text='1').pack(fill='y')    #垂直填充 
  2. tk.Label(root, text='2').pack(fill='x')    #水平填充 
  3. tk.Label(root, text='3').pack(fill='both') #水平垂直填充 
  4. tk.Label(root, text='4').pack(fill='none') #不填 

2.grid

它是一種網格布局,劃分為幾行幾列的樣子。所以它一般就是設置行,列。例如:

  1. tk.Label(root, text='1').grid(row=3, column=3)#第三行第三列插入一個1 

還可以設置組件所跨越的行列數和內外部間隔距離:

  1. tk.Label(root, text='1').grid(row=3, column=3,rowspan=3,ipadx=6)#跨3行單元格距離6 
  2. tk.Label(root, text='2').grid(row=4, column=4,columnspa=3,pady=8)#跨3列邊框距離 

3.place

這是一種最簡單靈活的布局,使用組件坐標來放置組件的位置。

  1. tk.Label(root,text='43').place(x=100,y=200,width=10,height=5) #距離左邊100,上邊200寬高為10X5 

十六、鼠標鍵盤事件

講完布局接著該說說最重要的東西了,綁定事件,沒有這個東西組件都是沒有靈魂的。我總結了以下幾點:

  1. bind(sequence,func,add
  2. bind_class(className,sequence,func,add
  3. bind_all(sequence,func,add
  4. 事件參數:   
  5. sequence              所綁定的事件;如‘<Control-n>’寓意為ctrl+N鍵 或者<Button-3> 右鍵 
  6. func                   所綁定的事件處理函數; 
  7. add                    可選參數,為空字符或‘+’; 
  8. className             所綁定的類; 
  9.  
  10.  
  11. 鼠標鍵盤事件 
  12.     <Button-1>            鼠標左鍵按下,2表示中鍵,3表示右鍵; 
  13.     <ButtonPress-1>        同上; 
  14.     <ButtonRelease-1>    鼠標左鍵釋放; 
  15.     <B1-Motion>           按住鼠標左鍵移動; 
  16.     <Double-Button-1>     雙擊左鍵; 
  17.     <Enter>               鼠標指針進入某一組件區域; 
  18.     <Leave>               鼠標指針離開某一組件區域; 
  19.     <MouseWheel>         滾動滾輪; 
  20.     <KeyPress-A>         按下A鍵,A可用其它鍵替代; 
  21.     <Alt-KeyPress-A>      同時按下alt和A;alt可用ctrl和shift替代; 
  22.     <Double-KeyPress-A>    快速按兩下A; 
  23.     <Lock-KeyPress-A>     大寫狀態下按A; 
  24.      
  25.     
  26. 窗口事件 
  27.     Activate             當組件由不可用轉為可用時觸發; 
  28.     Configure            當組件大小改變時觸發; 
  29.     Deactivate          當組件由可用轉變為不可用時觸發; 
  30.     Destroy              當組件被銷毀時觸發; 
  31.     Expose              當組件從被遮擋狀態中暴露出來時觸發; 
  32.     Unmap              當組件由顯示狀態變為隱藏狀態時觸發; 
  33.     Map                  當組件由隱藏狀態變為顯示狀態時觸發; 
  34.     FocusIn              當組件獲得焦點時觸發; 
  35.     FocusOut            當組件失去焦點時觸發; 
  36.     Property             當窗體的屬性被刪除或改變時觸發; 
  37.     Visibility           當組件變為可視狀態時觸發; 
  38.  
  39. 響應事件 
  40. event對象(def function(event)): 
  41.     char                按鍵字符,僅對鍵盤事件有效; 
  42.     keycode            按鍵名,僅對鍵盤事件有效; 
  43.     keysym             按鍵編碼,僅對鍵盤事件有效; 
  44.     num                鼠標按鍵,僅對鼠標事件有效; 
  45.     type                 所觸發的事件類型; 
  46.     widget               引起事件的組件; 
  47.     width,heigh        組件改變后的大小,僅Configure有效; 
  48.     x,y                鼠標當前位置,相對于窗口; 
  49.     x_root,y_root       鼠標當前位置,相對于整個屏幕 

好了,以上就是我學習tkinter所總結的所有知識點,可能還有部分地方未補充清楚,希望大家多多指正。

 

責任編輯:姜華 來源: Python爬蟲與數據挖掘
相關推薦

2021-06-01 09:02:06

PythonClassPython基礎

2012-02-01 08:56:32

2016-07-12 10:09:13

OpenManage大

2016-06-20 15:36:01

OpenManage大

2017-12-14 09:35:10

58速運訂單調度

2025-02-08 14:03:25

2023-11-29 07:30:08

Python用戶界面

2025-02-24 10:17:48

2022-01-26 00:02:00

PythonGUI界面

2024-10-28 16:03:24

2024-09-24 10:00:55

2014-02-10 10:13:41

VirtualBox虛擬機

2021-06-27 17:12:27

PythonGUI圖形界面

2017-11-22 12:40:02

PythonGUI框架

2024-06-26 12:17:48

深度學習GUI

2010-09-07 12:06:46

PPPoE協議

2010-06-17 16:06:18

串口協議

2011-01-18 17:47:35

2011-05-17 14:38:52

身份認證校園網

2009-03-10 08:43:38

Erwise圖形瀏覽器
點贊
收藏

51CTO技術棧公眾號

日韩国产伦理| 最新国产精品拍自在线播放| 一区二区三区中文字幕电影 | 亚洲午夜久久久久久久久电影院| 亚洲大片在线观看| 久久久久久综合网天天| 亚洲欧美99| www.91在线| 精品国产一区二区三区四区精华| 日本一本中文字幕| 超碰影院在线| 国产精品久久免费视频 | 亚洲女人被黑人巨大进入| 国产欧美一区二区三区在线| 激情五月开心婷婷| 欧美成人app| av影院午夜一区| 精品精品国产高清一毛片一天堂| 91视频九色网站| 在线看黄网站| 久久久久久一区二区| 国产午夜一区二区| 男女羞羞电影免费观看| 国产黄色在线网站| 国产亚洲高清一区| 精品久久久久久综合日本欧美| jizz在线观看中文| 91成人看片片| 成人精品一区二区三区| 免费的黄网站在线观看| 久久先锋资源| 精品日韩一区二区三区免费视频| 欧美日韩国产综合视频| 亚洲精品乱码| 精品国产自在精品国产浪潮| 免费免费啪视频在线观看| 黄色亚洲免费| 精品亚洲一区二区三区| 久久精品99国产| 国产欧美1区2区3区| 99久久99久久| 一区二区在线视频观看| 午夜视频在线观看一区| 日韩中文一区二区三区| 日本在线啊啊| 一区二区三区四区不卡视频| 第一福利在线| 亚洲精品久久7777777| 亚洲在线播放电影| 天天综合色天天综合色hd| 欧美xx视频| 国产精品尤物| 亚洲另类图片色| av在线资源站| 欧美小视频在线观看| 国产精品毛片一区视频| 免费人成在线观看网站| 亚洲精品在线电影| 黄网免费入口| 欧美成人r级一区二区三区| av资源在线观看免费高清| 亚洲国产成人在线播放| 国产免费视频| 日韩国产中文字幕| 国产毛片在线看| 久久av.com| 三上悠亚在线免费观看| 成人av电影在线观看| 久久99精品久久久久久久久久| gogo亚洲高清大胆美女人体| 国产精品超碰97尤物18| 肥熟一91porny丨九色丨| 日本一区二区高清不卡| 日韩在线视频免费观看高清中文| 日韩色性视频| 性做久久久久久| 国产视频一二三区| 亚洲男人的天堂在线播放| 精品1区2区3区4区| 亚洲精品小视频在线观看| 沈樵精品国产成av片| 欧美人在线视频| 欧美三级午夜理伦三级小说| 91精品国产欧美一区二区| 宅男视频免费在线观看视频| 亚洲高清久久久| 精品中文一区| 天堂影院在线| 精品网站999www| 懂色av一区二区夜夜嗨| 日韩av电影在线观看| 欧美色中文字幕| 成人全视频免费观看在线看| 97碰在线观看| 你懂的在线观看一区二区| 亚洲精品无码久久久久久| 国模极品一区二区三区| 中文字幕在线不卡| 欧美色女视频| 影音先锋欧美在线| 久久久精品黄色| www.男人的天堂.com| 69av一区二区三区| 99热免费在线| 成人综合专区| 中文字幕中文字幕在线十八区 | 天天综合天天综合色| 黄色毛片在线看| 久久精品国产亚洲精品2020| 中文字幕一区不卡| 久久最新视频| 日韩成人视屏| 狠狠色综合色区| 国产一区二区三区视频| 精品久久久久久久久久久久久久| 看电视剧不卡顿的网站| 特级全黄一级毛片| 久久五月情影视| 欧美日韩午夜在线视频| 国产婷婷一区二区| 欧美日韩在线视频免费观看| 国产成人av在线| 国产精品白丝jk黑袜喷水| 瑟瑟在线观看| 亚洲码在线观看| 97久久人人超碰| 在线观看电影av| 在线视频网站| www.69av| 91精品国产入口| 一区二区蜜桃| 欧美极品欧美精品欧美| 亚洲精品国产品国语在线| 久久一二三四| 欧美电影免费| 亚洲伦理在线| 永久免费精品视频网站| 99久久精品免费看国产一区二区三区| 久久99亚洲精品| 日韩在线小视频| 日韩精品一区二区三区swag | 天天干天天操天天做| 日韩精品欧美激情| 日韩精品有码在线观看| 欧美性20hd另类| 色网站国产精品| 欧美私人啪啪vps| а√天堂官网中文在线| 1024视频在线| 粉嫩av一区二区三区天美传媒 | 人人鲁人人莫人人爱精品| 欧美xxxx视频| 粉嫩tv在线播放| 欧洲精品一区二区三区久久| 欧美一区二区三区在线| 大荫蒂欧美视频另类xxxx| 香蕉成人久久| av一区在线播放| 综合久久伊人| 999sesese| 黄色小视频在线免费观看| 青青久在线视频免费观看| 久久大胆人体| 91蝌蚪精品视频| 亚洲欧美视频一区二区| r级无码视频在线观看| 爱情岛论坛vip永久入口| 性欧美暴力猛交69hd| 国产精品av一区| 手机在线免费观看毛片| 日韩在线第三页| 欧美一级欧美一级在线播放| 国产h片在线观看| 亚洲国语精品自产拍在线观看| 91在线高清观看| 亚洲午夜av在线| 亚洲欧美日韩精品| 91精品国产91久久久久久久久| 精品国产鲁一鲁一区二区张丽| 精品国产乱码久久久久久图片| 韩国国内大量揄拍精品视频| 乱色588欧美| 91丨九色丨国产| 庆余年2免费日韩剧观看大牛| 在线电影av不卡网址| 日韩欧美亚洲另类制服综合在线| 欧美精品在线网站| 日韩精品中文字| 激情小说网站亚洲综合网| 国产福利在线播放| 无码人妻少妇伦在线电影| 第一页在线观看| 国产成人3p视频免费观看| 亚洲日本一区二区三区在线| 久久青草久久| 亚洲亚洲精品在线观看| 欧美福利视频在线| 蜜臀久久99精品久久久无需会员| 无遮挡亚洲一区| 国产www视频在线观看|