python2.7入門---GUI編程(Tkinter)

    Python 提供了多個圖形開發界面的庫,幾個經常使用 Python GUI 庫以下:php

 

  • Tkinter: Tkinter 模塊(Tk 接口)是 Python 的標準 Tk GUI 工具包的接口 .Tk 和 Tkinter 能夠在大多數的 Unix 平臺下使用,一樣能夠應用在 Windows 和 Macintosh 系統裏。Tk8.0 的後續版本能夠實現本地窗口風格,並良好地運行在絕大多數平臺中。html

  • wxPython:wxPython 是一款開源軟件,是 Python 語言的一套優秀的 GUI 圖形庫,容許 Python 程序員很方便的建立完整的、功能健全的 GUI 用戶界面。java

  • Jython:Jython 程序能夠和 Java 無縫集成。除了一些標準模塊,Jython 使用 Java 的模塊。Jython 幾乎擁有標準的Python 中不依賴於 C 語言的所有模塊。好比,Jython 的用戶界面將使用 Swing,AWT或者 SWT。Jython 能夠被動態或靜態地編譯成 Java 字節碼。python

    此次主要看的是看下Tkinter。Tkinter 是 Python 的標準 GUI 庫。Python 使用 Tkinter 能夠快速的建立 GUI 應用程序。因爲 Tkinter 是內置到 python 的安裝包中、只要安裝好 Python 以後就能 import Tkinter 庫、並且 IDLE 也是用 Tkinter 編寫而成、對於簡單的圖形界面 Tkinter 仍是能應付自如。在這裏要注意Python3.x 版本使用的庫名爲 tkinter,即首寫字母 T 爲小寫:程序員

 

import tkinter

    咱們來看建立一個GUI程序的步驟:
框架

 

  • 一、導入 Tkinter 模塊
  • 二、建立控件
  • 三、指定這個控件的 master, 即這個控件屬於哪個
  • 四、告訴 GM(geometry manager) 有一個控件產生了。

    而後呢就是實例:工具

 

#!/usr/bin/python # -*- coding: UTF-8 -*- import Tkinter top = Tkinter.Tk() # 進入消息循環 top.mainloop()

    以上代碼執行結果以下圖:oop


    再來看個實例:佈局

 

#!/usr/bin/python # -*- coding: UTF-8 -*- from Tkinter import * # 導入 Tkinter 庫 root = Tk() # 建立窗口對象的背景色 # 建立兩個列表 li = ['C','python','php','html','SQL','java'] movie = ['CSS','jQuery','Bootstrap'] listb = Listbox(root) # 建立兩個列表組件 listb2 = Listbox(root) for item in li: # 第一個小部件插入數據 listb.insert(0,item) for item in movie: # 第二個小部件插入數據 listb2.insert(0,item) listb.pack() # 將小部件放置到主窗口中 listb2.pack() root.mainloop() # 進入消息循環

    以上代碼執行結果以下圖:字體


    Tkinter的提供各類控件,如按鈕,標籤和文本框,一個GUI應用程序中使用。這些控件一般被稱爲控件或者部件。目前有15種Tkinter的部件。咱們提出這些部件以及一個簡短的介紹,在下面的表:

 

控件 描述
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 用於顯示你應用程序的消息框。

    標準屬性也就是全部控件的共同屬性,如大小,字體和顏色等等。

 

屬性 描述
Dimension 控件大小;
Color 控件顏色;
Font 控件字體;
Anchor 錨點;
Relief 控件樣式;
Bitmap 位圖;
Cursor 光標;

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

 

幾何方法 描述
pack() 包裝;
grid() 網格;
place() 位置;

    好啦,到這裏分享就結束了。若是感受不錯的話,請多多點贊支持哦。。。

  原文連接:https://blog.csdn.net/luyaran/article/details/80006299

相關文章
相關標籤/搜索