Python GUI編程(Tkinter)

Python GUI編程(Tkinter)

  • 作者:楊夢鴿
  • 校對:翟舒青

Python 提供了多個圖形開發(fā)界面的庫膏执,幾個常用 Python GUI 庫如下:

  • Tkinter: Tkinter 模塊(Tk 接口)是 Python 的標準 Tk GUI 工具包的接口 .Tk 和 Tkinter 可以在大多數(shù)的 Unix 平臺下使用,同樣可以應用在 Windows 和 Macintosh 系統(tǒng)里奈虾。Tk8.0 的后續(xù)版本可以實現(xiàn)本地窗口風格,并良好地運行在絕大多數(shù)平臺中施逾。
  • wxPython:wxPython 是一款開源軟件邦鲫,是 Python 語言的一套優(yōu)秀的 GUI 圖形庫,允許 Python 程序員很方便的創(chuàng)建完整的杈抢、功能健全的 GUI 用戶界面数尿。
  • Jython:Jython 程序可以和 Java 無縫集成。除了一些標準模塊惶楼,Jython 使用 Java 的模塊右蹦。Jython 幾乎擁有標準的Python 中不依賴于 C 語言的全部模塊诊杆。比如,Jython 的用戶界面將使用 Swing何陆,AWT或者 SWT晨汹。Jython 可以被動態(tài)或靜態(tài)地編譯成 Java 字節(jié)碼。

Tkinter 編程

Tkinter 是 Python 的標準 GUI 庫贷盲。Python 使用 Tkinter 可以快速的創(chuàng)建 GUI 應用程序淘这。

由于 Tkinter 是內(nèi)置到 python 的安裝包中、只要安裝好 Python 之后就能 import Tkinter 庫巩剖、而且 IDLE 也是用 Tkinter 編寫而成慨灭、對于簡單的圖形界面 Tkinter 還是能應付自如。

注意:Python3.x 版本使用的庫名為 tkinter,即首寫字母 T 為小寫球及。

import tkinter

創(chuàng)建一個GUI程序

  • 1、導入 Tkinter 模塊
  • 2呻疹、創(chuàng)建控件
  • 3吃引、指定這個控件的 master, 即這個控件屬于哪一個
  • 4刽锤、告訴 GM(geometry manager) 有一個控件產(chǎn)生了镊尺。

實例

#!/usr/bin/python
# -*- coding: UTF-8 -*-

import Tkinter
top = Tkinter.Tk()
# 進入消息循環(huán)
top.mainloop()

以上代碼執(zhí)行結(jié)果如下圖:

tkwindow

實例

#!/usr/bin/python
# -*- coding: UTF-8 -*-

from Tkinter import *           # 導入 Tkinter 庫
root = Tk()                     # 創(chuàng)建窗口對象的背景色
# 創(chuàng)建兩個列表
li     = ['C','python','php','html','SQL','java']
movie  = ['CSS','jQuery','Bootstrap']
listb  = Listbox(root)          #  創(chuàng)建兩個列表組件
listb2 = Listbox(root)
for item in li:                 # 第一個小部件插入數(shù)據(jù)
listb.insert(0,item)

for item in movie:              # 第二個小部件插入數(shù)據(jù)
listb2.insert(0,item)

listb.pack()                    # 將小部件放置到主窗口中
listb2.pack()
root.mainloop()                 # 進入消息循環(huán)

以上代碼執(zhí)行結(jié)果如下圖:


Tkinter 組件

Tkinter的提供各種控件,如按鈕并思,標簽和文本框庐氮,一個GUI應用程序中使用。這些控件通常被稱為控件或者部件宋彼。

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

控件 描述
Button 按鈕控件输涕;在程序中顯示按鈕音婶。
Canvas 畫布控件;顯示圖形元素如線條或文本
Checkbutton 多選框控件莱坎;用于在程序中提供多項選擇框
Entry 輸入控件衣式;用于顯示簡單的文本內(nèi)容
Frame 框架控件;在屏幕上顯示一個矩形區(qū)域檐什,多用來作為容器
Label 標簽控件碴卧;可以顯示文本和位圖
Listbox 列表框控件;在Listbox窗口小部件是用來顯示一個字符串列表給用戶
Menubutton 菜單按鈕控件乃正,由于顯示菜單項住册。
Menu 菜單控件;顯示菜單欄,下拉菜單和彈出菜單
Message 消息控件烫葬;用來顯示多行文本界弧,與label比較類似
Radiobutton 單選按鈕控件凡蜻;顯示一個單選的按鈕狀態(tài)
Scale 范圍控件;顯示一個數(shù)值刻度垢箕,為輸出限定范圍的數(shù)字區(qū)間
Scrollbar 滾動條控件划栓,當內(nèi)容超過可視化區(qū)域時使用,如列表框条获。.
Text 文本控件忠荞;用于顯示多行文本
Toplevel 容器控件;用來提供一個單獨的對話框帅掘,和Frame比較類似
Spinbox 輸入控件委煤;與Entry類似,但是可以指定輸入范圍值
PanedWindow PanedWindow是一個窗口布局管理的插件修档,可以包含一個或者多個子控件碧绞。
LabelFrame labelframe 是一個簡單的容器控件。常用與復雜的窗口布局吱窝。
tkMessageBox 用于顯示你應用程序的消息框讥邻。

標準屬性

標準屬性也就是所有控件的共同屬性,如大小院峡,字體和顏色等等兴使。

屬性 描述
Dimension 控件大小照激;
Color 控件顏色发魄;
Font 控件字體;
Anchor 錨點俩垃;
Relief 控件樣式励幼;
Bitmap 位圖;
Cursor 光標口柳;

幾何管理

Tkinter控件有特定的幾何狀態(tài)管理方法赏淌,管理整個控件區(qū)域組織,一下是Tkinter公開的幾何管理類:包啄清、網(wǎng)格六水、位置

幾何方法 描述
pack() 包裝;
grid() 網(wǎng)格辣卒;
place() 位置掷贾;
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市荣茫,隨后出現(xiàn)的幾起案子想帅,更是在濱河造成了極大的恐慌,老刑警劉巖啡莉,帶你破解...
    沈念sama閱讀 211,042評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件港准,死亡現(xiàn)場離奇詭異旨剥,居然都是意外死亡,警方通過查閱死者的電腦和手機浅缸,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,996評論 2 384
  • 文/潘曉璐 我一進店門轨帜,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人衩椒,你說我怎么就攤上這事蚌父。” “怎么了毛萌?”我有些...
    開封第一講書人閱讀 156,674評論 0 345
  • 文/不壞的土叔 我叫張陵苟弛,是天一觀的道長。 經(jīng)常有香客問我阁将,道長膏秫,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,340評論 1 283
  • 正文 為了忘掉前任做盅,我火速辦了婚禮荔睹,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘言蛇。我一直安慰自己,他們只是感情好宵距,可當我...
    茶點故事閱讀 65,404評論 5 384
  • 文/花漫 我一把揭開白布腊尚。 她就那樣靜靜地躺著,像睡著了一般满哪。 火紅的嫁衣襯著肌膚如雪婿斥。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,749評論 1 289
  • 那天哨鸭,我揣著相機與錄音民宿,去河邊找鬼。 笑死像鸡,一個胖子當著我的面吹牛活鹰,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播只估,決...
    沈念sama閱讀 38,902評論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼志群,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了蛔钙?” 一聲冷哼從身側(cè)響起锌云,我...
    開封第一講書人閱讀 37,662評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎吁脱,沒想到半個月后桑涎,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體彬向,經(jīng)...
    沈念sama閱讀 44,110評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,451評論 2 325
  • 正文 我和宋清朗相戀三年攻冷,在試婚紗的時候發(fā)現(xiàn)自己被綠了娃胆。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,577評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡讲衫,死狀恐怖缕棵,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情涉兽,我是刑警寧澤招驴,帶...
    沈念sama閱讀 34,258評論 4 328
  • 正文 年R本政府宣布,位于F島的核電站枷畏,受9級特大地震影響别厘,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜拥诡,卻給世界環(huán)境...
    茶點故事閱讀 39,848評論 3 312
  • 文/蒙蒙 一触趴、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧渴肉,春花似錦冗懦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,726評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至乌奇,卻和暖如春没讲,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背礁苗。 一陣腳步聲響...
    開封第一講書人閱讀 31,952評論 1 264
  • 我被黑心中介騙來泰國打工爬凑, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人试伙。 一個月前我還...
    沈念sama閱讀 46,271評論 2 360
  • 正文 我出身青樓嘁信,卻偏偏與公主長得像,于是被迫代替她去往敵國和親疏叨。 傳聞我的和親對象是個殘疾皇子吱抚,可洞房花燭夜當晚...
    茶點故事閱讀 43,452評論 2 348

推薦閱讀更多精彩內(nèi)容