日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > python >内容正文

python

python中的gui界面编程_python应用系列教程——python的GUI界面编程Tkinter全解

發(fā)布時(shí)間:2025/3/21 python 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python中的gui界面编程_python应用系列教程——python的GUI界面编程Tkinter全解 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

全棧工程師開發(fā)手冊(cè) (作者:欒鵬)

python的GUI界面編程,常用的幾個(gè)python庫(kù)包含如下:

Tkinter:

Tkinter 模塊(Tk 接口)是 Python 的標(biāo)準(zhǔn) Tk GUI 工具包的接口 .Tk 和 Tkinter可以在大多數(shù)的 Unix 平臺(tái)下使用,同樣可以應(yīng)用在 Windows 和 Macintosh 系統(tǒng)里。Tk8.0的后續(xù)版本可以實(shí)現(xiàn)本地窗口風(fēng)格,并良好地運(yùn)行在絕大多數(shù)平臺(tái)中。

wxPython:

wxPython 是一款開源軟件,是 Python 語言的一套優(yōu)秀的 GUI 圖形庫(kù),允許 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 可以被動(dòng)態(tài)或靜態(tài)地編譯成 Java 字節(jié)碼。

Tkinter界面庫(kù)

今天我們主要介紹一下Tkinter,在庫(kù)中定義了一些基礎(chǔ)控件對(duì)象,和組合控件對(duì)象。可以在創(chuàng)建控件時(shí)傳遞控件屬性,也可以在創(chuàng)建了控件對(duì)象以后,再設(shè)置屬性。

窗口的GUI編程主要包含的知識(shí)點(diǎn)為窗口(頂層容器)、容器、組合控件、控件、控件屬性、控件函數(shù)。本文提供了一個(gè)demo,包含了對(duì)頂層窗口、基礎(chǔ)控件(標(biāo)簽、按鈕)、組合控件(比例尺控件、NumericUpDown控件、ComboBox)、控件的屬性(文本、位置)、控件函數(shù)(按鈕點(diǎn)擊事件)等內(nèi)容的編程示例。

主要的控件

Button 按鈕控件;在程序中顯示按鈕。

Canvas 畫布控件;顯示圖形元素如線條或文本

Checkbutton 多選框控件;用于在程序中提供多項(xiàng)選擇框

Entry 輸入控件;用于顯示簡(jiǎn)單的文本內(nèi)容

Frame 框架控件;在屏幕上顯示一個(gè)矩形區(qū)域,多用來作為容器

Label 標(biāo)簽控件;可以顯示文本和位圖

Listbox 列表框控件;在Listbox窗口小部件是用來顯示一個(gè)字符串列表給用戶

Menubutton 菜單按鈕控件,由于顯示菜單項(xiàng)。

Menu 菜單控件;顯示菜單欄,下拉菜單和彈出菜單

Message 消息控件;用來顯示多行文本,與label比較類似

Radiobutton 單選按鈕控件;顯示一個(gè)單選的按鈕狀態(tài)

Scale 范圍控件;顯示一個(gè)數(shù)值刻度,為輸出限定范圍的數(shù)字區(qū)間

Scrollbar 滾動(dòng)條控件,當(dāng)內(nèi)容超過可視化區(qū)域時(shí)使用,如列表框。.

Text 文本控件;用于顯示多行文本

Toplevel 容器控件;用來提供一個(gè)單獨(dú)的對(duì)話框,和Frame比較類似

Spinbox 輸入控件;與Entry類似,但是可以指定輸入范圍值

PanedWindow PanedWindow是一個(gè)窗口布局管理的插件,可以包含一個(gè)或者多個(gè)子控件。

LabelFrame labelframe 是一個(gè)簡(jiǎn)單的容器控件。常用與復(fù)雜的窗口布局。

tkMessageBox 用于顯示你應(yīng)用程序的消息框。

控件屬性

Dimension 控件大小;

Color 控件顏色;

Font 控件字體;

Anchor 錨點(diǎn);

Relief 控件樣式;

Bitmap 位圖;

Cursor 光標(biāo);

雖然python可以進(jìn)行界面GUI設(shè)計(jì),不過個(gè)人覺得界面設(shè)計(jì)還有net更牛逼一些。

python2.7下的代碼

#coding:utf-8

from Tkinter import * #控件基礎(chǔ)包,導(dǎo)入這個(gè)包后,這個(gè)包下的所有函數(shù)可以直接調(diào)用

import Tkinter

from Tkinter import Label, Button, END

from Tix import Tk, Control, ComboBox #升級(jí)的組合控件包

from tkMessageBox import showinfo, showwarning, showerror #各種類型的提示框

#除此之外還有很多界面編程的包

#頂層窗口

top = Tkinter.Tk() #創(chuàng)建頂層窗口

top.geometry('250x150') #初始化窗口大小

top.title("標(biāo)題")

top.tk.eval('package require Tix') #引入升級(jí)包,這樣才能使用升級(jí)的組合控件

#標(biāo)簽控件

label = Tkinter.Label(top, text='Hello World!',font='Helvetica -12 bold') #創(chuàng)建標(biāo)簽

label.pack(fill=Y, expand=1) #填充到界面

#按鈕控件

button = Tkinter.Button(top, text='QUIT',command=top.quit,activeforeground='white',activebackground='red', bg='red', fg='white') #創(chuàng)建按鈕,command為回調(diào)函數(shù)

button.pack(fill=Tkinter.X, expand=1) #fill=tkinter.X表示橫向拉伸完全

#自定義函數(shù),控制控件的縮放

def resize(ev=None):

label.config(font='Helvetica -%d bold' % scale.get())

#比例尺控件

scale = Scale(top, from_=10, to=40,orient=HORIZONTAL, command=resize) #縮放比例尺

scale.set(12) #初始值

scale.pack(fill=X, expand=1) #填充到界面

#NumericUpDown控件

ct = Control(top, label='Number:',integer=True, max=12, min=2, value=2, step=2)

ct.label.config(font='Helvetica -14 bold')

ct.pack()

#ComboBox控件

cb = ComboBox(top, label='Type:', editable=True)

for animal in ('dog', 'cat', 'hamster', 'python'):

cb.insert(END, animal)

cb.pack()

Tkinter.mainloop() #運(yùn)行這個(gè)GUI應(yīng)用

在python3中,

Tkinter改成了tkinter,

Tix改成了tkinter.tix,

tkMessageBox 改成了tkinter.messagebox

python3.6下代碼

#coding:utf-8

#GUI界面編程

from tkinter import * #控件基礎(chǔ)包,導(dǎo)入這個(gè)包后,這個(gè)包下的所有函數(shù)可以直接調(diào)用

import tkinter

from tkinter import Label, Button, END

from tkinter.tix import Tk, Control, ComboBox #升級(jí)的組合控件包

from tkinter.messagebox import showinfo, showwarning, showerror #各種類型的提示框

#除此之外還有很多界面編程的包

#頂層窗口

top = tkinter.Tk() #創(chuàng)建頂層窗口

top.geometry('250x150') #初始化窗口大小

top.title("標(biāo)題")

top.tk.eval('package require Tix') #引入升級(jí)包,這樣才能使用升級(jí)的組合控件

#標(biāo)簽控件

label = tkinter.Label(top, text='Hello World!',font='Helvetica -12 bold') #創(chuàng)建標(biāo)簽

label.pack(fill=Y, expand=1) #填充到界面

#按鈕控件

button = tkinter.Button(top, text='QUIT',command=top.quit,activeforeground='white',activebackground='red', bg='red', fg='white') #創(chuàng)建按鈕,command為回調(diào)函數(shù)

button.pack(fill=tkinter.X, expand=1) #fill=tkinter.X表示橫向拉伸完全

#自定義函數(shù),控制控件的縮放

def resize(ev=None):

label.config(font='Helvetica -%d bold' % scale.get())

#比例尺控件

scale = Scale(top, from_=10, to=40,orient=HORIZONTAL, command=resize) #縮放比例尺

scale.set(12) #初始值

scale.pack(fill=X, expand=1) #填充到界面

#NumericUpDown控件

ct = Control(top, label='Number:',integer=True, max=12, min=2, value=2, step=2)

ct.label.config(font='Helvetica -14 bold')

ct.pack()

#ComboBox控件

cb = ComboBox(top, label='Type:', editable=True)

for animal in ('dog', 'cat', 'hamster', 'python'):

cb.insert(END, animal)

cb.pack()

tkinter.mainloop() #運(yùn)行這個(gè)GUI應(yīng)用

總結(jié)

以上是生活随笔為你收集整理的python中的gui界面编程_python应用系列教程——python的GUI界面编程Tkinter全解的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。