Python GUI編程 Tkinter

python gui編程 tkinter

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

  • tkinter: tkinter 模塊(tk 接口)是 python 的標(biāo)準(zhǔn) tk gui 工具包的接口 .tk 和 tkinter 可以在大多數(shù)的 unix 平臺下使用,同樣可以應(yīng)用在 windows 和 macintosh 系統(tǒng)里。tk8.0 的后續(xù)版本可以實現(xiàn)本地窗口風(fēng)格,并良好地運行在絕大多數(shù)平臺中。
  • wxpython:wxpython 是一款開源軟件,是 python 語言的一套優(yōu)秀的 gui 圖形庫,允許 python 程序員很方便的創(chuàng)建完整的、功能健全的 gui 用戶界面。
  • jython:jython 程序可以和 java 無縫集成。除了一些標(biāo)準(zhǔn)模塊,jython 使用 java 的模塊。jython 幾乎擁有標(biāo)準(zhǔn)的python 中不依賴于 c 語言的全部模塊。比如,jython 的用戶界面將使用 swing,awt或者 swt。jython 可以被動態(tài)或靜態(tài)地編譯成 java 字節(jié)碼。

 

1. tkinter 編程

tkinter 是 python 的標(biāo)準(zhǔn) gui 庫。python 使用 tkinter 可以快速的創(chuàng)建 gui 應(yīng)用程序。

由于 tkinter 是內(nèi)置到 python 的安裝包中、只要安裝好 python 之后就能 import tkinter 庫、而且 idle 也是用 tkinter 編寫而成、對于簡單的圖形界面 tkinter 還是能應(yīng)付自如。

注意:python3.x 版本使用的庫名為 tkinter,即首寫字母 t 為小寫。

import tkinter

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

  • 1、導(dǎo)入 tkinter 模塊
  • 2、創(chuàng)建控件
  • 3、指定這個控件的 master, 即這個控件屬于哪一個
  • 4、告訴 gm(geometry manager) 有一個控件產(chǎn)生了。
#!/usr/bin/python3
 
import tkinter
top = tkinter.tk()
# 進(jìn)入消息循環(huán)
top.mainloop()
#!/usr/bin/python
# -*- coding: utf-8 -*-
 
import tkinter
top = tkinter.tk()
# 進(jìn)入消息循環(huán)
top.mainloop()

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

tkwindow

#!/usr/bin/python
# -*- coding: utf-8 -*-
 
# python2.x 導(dǎo)入方法
from tkinter import *           # 導(dǎo)入 tkinter 庫
# python3.x 導(dǎo)入方法
#from tkinter import * 
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()                 # 進(jìn)入消息循環(huán)

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

 

2. tkinter 組件

tkinter的提供各種控件,如按鈕,標(biāo)簽和文本框,一個gui應(yīng)用程序中使用。這些控件通常被稱為控件或者部件。

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

控件描述
button按鈕控件;在程序中顯示按鈕。
canvas畫布控件;顯示圖形元素如線條或文本
checkbutton多選框控件;用于在程序中提供多項選擇框
entry輸入控件;用于顯示簡單的文本內(nèi)容
frame框架控件;在屏幕上顯示一個矩形區(qū)域,多用來作為容器
label標(biāo)簽控件;可以顯示文本和位圖
listbox列表框控件;在listbox窗口小部件是用來顯示一個字符串列表給用戶
menubutton菜單按鈕控件,用于顯示菜單項。
menu菜單控件;顯示菜單欄,下拉菜單和彈出菜單
message消息控件;用來顯示多行文本,與label比較類似
radiobutton單選按鈕控件;顯示一個單選的按鈕狀態(tài)
scale范圍控件;顯示一個數(shù)值刻度,為輸出限定范圍的數(shù)字區(qū)間
scrollbar滾動條控件,當(dāng)內(nèi)容超過可視化區(qū)域時使用,如列表框。.
text文本控件;用于顯示多行文本
toplevel容器控件;用來提供一個單獨的對話框,和frame比較類似
spinbox輸入控件;與entry類似,但是可以指定輸入范圍值
panedwindowpanedwindow是一個窗口布局管理的插件,可以包含一個或者多個子控件。
labelframe labelframe 是一個簡單的容器控件。常用與復(fù)雜的窗口布局。
tkmessagebox用于顯示你應(yīng)用程序的消息框。

 

3. 標(biāo)準(zhǔn)屬性

標(biāo)準(zhǔn)屬性也就是所有控件的共同屬性,如大小,字體和顏色等等。

屬性 描述
dimension 控件大??;
color 控件顏色;
font 控件字體;
anchor 錨點;
relief 控件樣式;
bitmap 位圖;
cursor 光標(biāo);

 

4. 幾何管理

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

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

下一節(jié):python2 與 python3 區(qū)別

python 教程

相關(guān)文章
亚洲国产精品第一区二区,久久免费视频77,99V久久综合狠狠综合久久,国产免费久久九九免费视频