Python程序設計基礎教程(微課版) 課件 第8章 - Python GUI編程_第1頁
Python程序設計基礎教程(微課版) 課件 第8章 - Python GUI編程_第2頁
Python程序設計基礎教程(微課版) 課件 第8章 - Python GUI編程_第3頁
Python程序設計基礎教程(微課版) 課件 第8章 - Python GUI編程_第4頁
Python程序設計基礎教程(微課版) 課件 第8章 - Python GUI編程_第5頁
已閱讀5頁,還剩20頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

Python程序設計第8章PythonGUI編程學習目標理解事件處理機制掌握各種組件的使用方法知識目標能夠編寫事件處理函數(shù)實現(xiàn)交互能夠編寫簡單的GUI程序能力目標創(chuàng)新和個性化設計用戶體驗重要性情感態(tài)度與價值觀GUI編程概述01020403tkinter布局事件綁定tkinter常用控件目

錄GUI編程概述01020403tkinter布局事件綁定tkinter常用控件目

錄了解tkinter程序GUI編程基本概念GUI編程:專注設計具有圖形界面的應用程序窗口控件布局事件處理Python

GUI庫tkinterPyQtwxPython8.1PythonGUI編程概述169導入tkinter模塊importtkinterastk創(chuàng)建GUI主窗體main_win=tk.Tk()

啟動消息主循環(huán),在主循環(huán)中等待用戶觸發(fā)事件main_win.mainloop()8.1.1初識tkinter程序179第一個tkiner程序:主窗口創(chuàng)建及設置部分8.1.1初識tkinter程序170importtkinterastk#主模塊#1、構建頂層Tk對象main_win=tk.Tk()#創(chuàng)建主窗口#設置窗口標題main_win.title('我的第一個tkinter窗口')#設置窗口大?。簩挾葂高度main_win.geometry('300x100')#3、進入主循環(huán),等待用戶操作main_win.mainloop()示例8-1第一個tkiner程序:創(chuàng)建窗口內的控件部分8.1.1初識tkinter程序170importtkinter.ttkasttk#帶主題的控件集模塊#2、創(chuàng)建窗口內的控件#創(chuàng)建一個標簽控件label1=ttk.Label(main_win,text='你好,tkinter!')label1.pack()#布局標簽控件#創(chuàng)建一個按鈕控件button1=ttk.Button(main_win,text='點我!',command=button_click)button1.pack()#布局按鈕控件示例8-1第一個tkiner程序:按鈕響應單擊事件處理部分8.1.1初識tkinter程序170#消息窗口模塊importtkinter.messageboxasmessagebox#按鈕被點擊時的處理函數(shù)defbutton_click():messagebox.showinfo('消息','按鈕"點我!"被點擊了!')示例8-1第一個tkiner程序:運行結果8.1.1初識tkinter程序1718.1.2GUI編程基本概念171容器:用于承載和組織其他控件的元素控件:GUI中用戶與之交互的元素布局:指控件在容器中的排列方式事件:描述用戶動作或系統(tǒng)狀態(tài)變化事件響應:程序對觸發(fā)的事件作出的反應綁定:將事件與事件響應關聯(lián)起來的過程回調函數(shù):一種編程技術GUI編程概述01020403tkinter布局事件綁定tkinter常用控件目

錄tkinter布局020403事件綁定tkinter常用控件目

錄GUI編程概述01pack布局grid布局place布局8.2tkinter布局172布局樣式基本使用方式布局特點適用于pack布局對象.pack()按控件調用pack()的順序布局少量組件或簡單布局grid布局對象.grid(row,col)二維表格布局,以行和列標定組件放置的網(wǎng)格結構化、布局規(guī)整對齊的界面place布局對象.place(x,y)自由度,精確控制組件的位置和大小精確控制位置或復雜布局GUI編程概述01020403tkinter布局事件綁定tkinter常用控件目

錄事件綁定0304tkinter常用控件目

錄GUI編程概述0102tkinter布局隱式綁定顯式綁定tkinter支持的綁定行為某個控件對象綁定事件與處理函數(shù)某個控件類的所有對象綁定同一事件為窗口中所有控件綁定同一事件tkinter綁定方式隱式綁定顯式綁定8.3事件綁定176隱式綁定:通常經(jīng)控件的構造函數(shù)或設置方法實現(xiàn)創(chuàng)建對象時指定command參數(shù)為一個函數(shù)名,該函數(shù)會隱式地綁定到該控件默認的事件上8.3.1隱式綁定176defon_btn_click():btn2.config(text='點擊了上面的按鈕!')btn1=ttk.Button(main_win,text='隱式綁定',command=on_btn_click)btn1.pack(padx=20,pady=30)btn2=ttk.Button(main_win,text='文本會改變')btn2.pack(padx=20,pady=30)示例8-5顯式綁定:通過控件對象的bind()方法指定事件及其響應函數(shù)event:具體的事件,是一個字符串func:響應函數(shù)的名字當event事件觸發(fā)時,程序會自動調用函數(shù)func8.3.2顯式綁定177控件對象.bind(event,func)8.3.2顯式綁定177事件類型觸發(fā)方式舉例事件字符串寫法用戶交互事件用戶動作直接觸發(fā)單擊鼠標左鍵雙擊鼠標左鍵按下鍵盤按鍵<事件字符串><Button-3>:右鍵單擊控件虛擬事件不依賴用戶的實際操作,可通過代碼觸發(fā)Text控件的剪貼/拷貝/粘貼事件Notebook控件的選項卡切換事件<<事件字符串>><<ComboboxSelected>>:下拉列表中某個元素被選擇bind()顯式綁定事件8.3.2顯式綁定177defon_btn_right_click(event):messagebox.showinfo('消息','右鍵單擊按鈕')defon_combo_selected(event):messagebox.showinfo('消息',combo.get())btn=ttk.Button(main_win,text='顯式綁定,右鍵單擊')btn.bind('<Button-3>',on_btn_right_click)combo=ttk.Combobox(main_win,values=('西瓜','番茄','柚子'))combo.bind('<<ComboboxSelected>>',on_combo_selected)示例8-6GUI編程概述01020403tkinter布局事件綁定tkinter常用控件目

錄tkinter常用控件04目

錄GUI編程概述0102tkinter布局03事件綁定常用控件控件創(chuàng)建及使用8.4tkinter常用控件178按鈕組件Button普通按鈕容器控件Frame框架CheckButton選擇按鈕Notebook選項

溫馨提示

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

最新文檔

評論

0/150

提交評論