Python GUI編程(Tkinter)

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

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

Tkinter 編程html

Tkinter Python 的標準 GUI 庫。Python 使用 Tkinter 能夠快速的建立 GUI 應用程序。java

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

注意Python3.x 版本使用的庫名爲 tkinter,即首寫字母 T 爲小寫。程序員

import tkinter編程

建立一個GUI程序框架

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

實例: 工具

#!/usr/bin/pythonoop

# -*- coding: UTF-8 -*-佈局

 

import Tkinter

top = Tkinter.Tk()

# 進入消息循環

top.mainloop()

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

實例2

#!/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 組件

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

目前有15Tkinter的部件。咱們提出這些部件以及一個簡短的介紹,在下面的表:

控件

描述

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

位置;

相關文章
相關標籤/搜索