1. 程式人生 > >python 圖形化(Tkinter)

python 圖形化(Tkinter)

語言 編譯 window ref str 介紹 輸出 不依賴 main

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、指定這個控件的master, 即這個控件屬於哪一個
  • 4、告訴GM(geometry manager)有一個控件產生了。

實例:

1 #!/usr/bin/python
2 # -*- coding: UTF-8 -*-
3 4 import Tkinter 5 top = Tkinter.Tk() 6 # 進入消息循環 7 top.mainloop()

技術分享

實例2:

 1 #!/usr/bin/python
 2 # -*- coding: UTF-8 -*-
 3 
 4 from Tkinter import *           # 導入 Tkinter 庫
 5 root = Tk()                     # 創建窗口對象的背景色
 6                                 # 創建兩個列表
 7 li     = [C,python,php
,html,SQL,java] 8 movie = [CSS,jQuery,Bootstrap] 9 listb = Listbox(root) # 創建兩個列表組件 10 listb2 = Listbox(root) 11 for item in li: # 第一個小部件插入數據 12 listb.insert(0,item) 13 14 for item in movie: # 第二個小部件插入數據 15 listb2.insert(0,item) 16 17 listb.pack() # 將小部件放置到主窗口中 18 listb2.pack() 19 root.mainloop() # 進入消息循環

技術分享

Tkinter 組件

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() 位置

python 圖形化(Tkinter)