Python圖形界面GUI程序設計

個人博客:https://blog.zeruns.techhtml

一、GUI是什麼?

圖形用戶界面(Graphical User Interface,簡稱 GUI,又稱圖形用戶接口)是指採用圖形方式顯示的計算機操做用戶界面。
圖形用戶界面是一種人與計算機通訊的界面顯示格式,容許用戶使用鼠標等輸入設備操縱屏幕上的圖標或菜單選項,以選擇命令、調用文件、啓動程序或執行其它一些平常任務。與經過鍵盤輸入文本或字符命令來完成例行任務的字符界面相比,圖形用戶界面有許多優勢。圖形用戶界面由窗口、下拉菜單、對話框及其相應的控制機制構成,在各類新式應用程序中都是標準化的,即相同的操做老是以一樣的方式來完成,在圖形用戶界面,用戶看到和操做的都是圖形對象,應用的是計算機圖形學的技術。python

二、Python中的GUI編程

Python 提供了多個圖形開發界面的庫,幾個經常使用 Python GUI 庫以下:
Tkinter: Tkinter 模塊(Tk 接口)是 Python 的標準 Tk GUI 工具包的接口 .Tk 和 Tkinter 能夠在大多數的 Unix 平臺下使用,一樣能夠應用在 Windows 和 Macintosh 系統裏。Tk8.0 的後續版本能夠實現本地窗口風格,並良好地運行在絕大多數平臺中。
wxPython:wxPython 是一款開源軟件,是 Python 語言的一套優秀的 GUI 圖形庫,容許 Python 程序員很方便的建立完整的、功能健全的 GUI 用戶界面。
Jython:Jython 程序能夠和 Java 無縫集成。除了一些標準模塊,Jython 使用 Java 的模塊。Jython 幾乎擁有標準的Python 中不依賴於 C 語言的所有模塊。好比,Jython 的用戶界面將使用 Swing,AWT或者 SWT。Jython 能夠被動態或靜態地編譯成 Java 字節碼。程序員

三、Tkinter編程

Tkinter 是 Python 的標準 GUI 庫。Python 使用 Tkinter 能夠快速的建立 GUI 應用程序。因爲 Tkinter 是內置到 python 的安裝包中、只要安裝好 Python 以後就能 import Tkinter 庫、並且 IDLE 也是用 Tkinter 編寫而成、對於簡單的圖形界面 Tkinter 仍是能應付自如。編程

四、如何來建立一個GUI程序?

(1)、導入 tkinter 模塊
(2)、建立窗口
(3)、建立控件
(4)、顯示控件和窗口
Eg:框架

from tkinter import *
#導入模塊
tk_bg = Tk()
#建立窗口
bm=Button()
#建立按鍵控件
bm.pack()
#顯示控件(放在窗口建立的後面)
tk_bg.mainloop()
#顯示窗口(放最下面)

五、畫一個簡單的的窗口

想要在窗口顯示文字,須要調用Label()控件,想要在窗口上顯示按鍵,須要調用Button()控件。

eg:ide

from tkinter import *
tk_bg = Tk()
tk_bg.title("第一個GUI")
#窗口名稱
lb=Label()
#建立一個輸出框控件
lb["text"]= "Hello World!"
#寫入文本
lb["width"]=100
#設置該控件左右寬度
lb["height"]=10
#設置該控件上下高度
lb.pack()
#顯示控件
bm=Button()
#建立按鍵控件
bm["text"]= "肯定"
#寫入文本
bm.pack()
#顯示控件
tk_bg.mainloop()
#顯示窗口

注:TK中的窗口顯示順序默認是自上而下的,先調用pack()的控件會顯示在上面,後調用的會顯示在下面。工具

六、在窗口顯示圖片。

想要在窗口中顯示圖片,只須要將輸出框控件和圖片關聯就能夠了。

eg:oop

from tkinter import *
#導入模塊
tk_bg = Tk()
#建立窗口
tk_bg.title("毀圖秀秀")
#修改窗口名字
lb1=Label()
#建立一個輸出框控件
w =PhotoImage(file ="123.gif")
#建立一個圖片對象,圖片只能是gif
lb1["image"]=w
#關聯圖片到控件
lb1.pack()
#顯示控件
tk_bg.mainloop()
#顯示窗口

注:圖片文件要和源代碼放在同一個文件夾,不然請使用絕對路徑指定圖片位置。佈局

七、排列控件順序

想要在一行顯示多個控件,須要使用Frame()來集中管理。

eg:spa

from tkinter import *
#導入模塊
tk_bg = Tk()
#建立窗口
tk_bg.title("閣下的相冊")
#修改窗口名字
fm1 = Frame()
#生成集中管理對象fm1
w1 =PhotoImage(file ="123.gif")
#建立一個圖片對象,圖片只能是gif
Label(fm1,image=w1).pack(side="left")
#建立輸出框控件關聯fm1和w1圖片,控件顯示方式爲最左邊
w2 =PhotoImage(file ="234.gif")
#建立一個圖片對象,圖片只能是gif
Label(fm1,image=w2).pack(side="left")
#建立輸出框控件關聯fm1和w2圖片,控件顯示方式爲最左邊
fm1.pack()
#顯示fm1關聯的全部控件
fm2 = Frame()
#生成集中管理對象fm2
Button(text="可愛",font=("楷體",20)).pack(side="bottom")
#建立按鍵控件關聯fm2,控件顯示方式爲最下方
Button(text="很可愛",font=("楷體",20)).pack(side="bottom")
#建立按鍵控件關聯fm2,控件顯示方式爲最下方
Button(text="很是可愛",font=("楷體",20)).pack(side="bottom")
#建立按鍵控件關聯fm2,控件顯示方式爲最下方
fm2.pack()
#顯示fm2關聯的全部控件
tk_bg.mainloop()
#顯示窗口

注:主義觀察控件的輸出,很是可愛是在最上面的,想想爲何(由於bottom把最前面的可愛放在了最下面)。side有四種方式 top、bottom、left、right。

如下爲TK的方法和屬性附錄

一、Tkinter組件

Tkinter的提供各類控件,如按鈕,標籤和文本框,一個GUI應用程序中使用。這些控件一般被稱爲控件或者部件。

控件 描述
Button 按鈕控件;在程序中顯示按鈕。
Canvas 畫布控件;顯示圖形元素如線條或文本
Checkbutton 多選框控件;用於在程序中提供多項選擇框
Entry 輸入控件;用於顯示簡單的文本內容
Frame 框架控件;在屏幕上顯示一個矩形區域,多用來做爲容器
Label 標籤控件;能夠顯示文本和位圖
Listbox 列表框控件;在Listbox窗口小部件是用來顯示一個字符串列表給用戶
Menubutton 菜單按鈕控件,用於顯示菜單項。
Menu 菜單控件;顯示菜單欄,下拉菜單和彈出菜單
Message 消息控件;用來顯示多行文本,與label比較相似
Radiobutton 單選按鈕控件;顯示一個單選的按鈕狀態
Scale 範圍控件;顯示一個數值刻度,爲輸出限定範圍的數字區間
Scrollbar 滾動條控件,當內容超過可視化區域時使用,如列表框。.
Text 文本控件;用於顯示多行文本
Toplevel 容器控件;用來提供一個單獨的對話框,和Frame比較相似
Spinbox 輸入控件;與Entry相似,可是能夠指定輸入範圍值
PanedWindow PanedWindow是一個窗口布局管理的插件,能夠包含一個或者多個子控件。
LabelFrame labelframe 是一個簡單的容器控件。經常使用與複雜的窗口布局。
tkMessageBox 用於顯示你應用程序的消息框。

二、Tkinter幾何管理

Tkinter控件有特定的幾何狀態管理方法,管理整個控件區域組織,如下是Tkinter公開的幾何管理類:包、網格、位置

三、Tkinter控件屬性

https://wenku.baidu.com/view/e34287db0722192e4436f657.html

相關文章
相關標籤/搜索