Python GUI編程(Tkinter)

來源:互聯網
上載者:User

標籤:方式   如何   允許   第一步   tkinter   utf-8   lock   command   開源軟體   

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 還是能應付自如。

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

建立一個GUI程式

  • 1、匯入 Tkinter 模組
  • 2、建立控制項
  • 3、指定這個控制項的 master, 即這個控制項屬於哪一個
  • 4、告訴 GM(geometry manager) 有一個控制項產生了。
1 #!/usr/bin/env python2 #coding:utf-83 4 from Tkinter import * #匯入Tkinter庫5 6 root=Tk()  #建立視窗7 root.mainloop()  #開始事件迴圈

在Python2下運行

改變視窗

 

 定義標題

添加一個按鈕(Button)和一個標籤(Label)

btn = Button(root, text=‘這是一個按鈕‘),代表建立了一個按鈕,btn.pack() 表示把 btn 放在主視窗上,pack 是一種布局方式

Label 可以通過 config 的方法來設定文字。

日記本 小程式

 

 saveBtn.pack(side=LEFT, anchor=‘sw‘) 表示把按鈕設定在左下,side 有4個值,TOP、BOTTOM、LEFT、RIGHT,預設為 TOP

anchor 是對齊,sw 即 southwest(西南)的,也就是左下,以此類推,一共有9個值 n、s、w、e、nw、sw、se、ne、center,預設是 center

先看寫日記時,需要用到 Entry 和 Text,Entry 是一個簡單的輸入控制項,Text 用來顯示多行文本。

StringVar 是一個字串變數類型,textvariable 表示文字框中的值,寫 textvariable=textVar 是為了方便我們後期對標題的一些操作

再來看看日記時,需要顯示一個列表,這就要用到 ListBox

比起其他的控制項多了一步,不過也是很簡單的,預設的列表高度太小了,所以用 height=300 設定了一下高度

但這時列表是空的,我們需要有個資料來源,變數,向列表中插入資料

 

 完善一下日記本的功能

第一步,我們把要用到的控制項寫好,其中 entry、text 和 listBox 先不要放到主視窗上

下一步定義一個方法,用於建立檔案夾,並切換工作目錄到該檔案夾中

匯入 os 模組,import os

如何給按鈕添加點擊事件,先看寫日記的時候

command=write 表示點擊這個按鈕時候,會執行 write 方法,然後我們來寫一下 wirte

 

 

 

Python GUI編程(Tkinter)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.