本文目錄一覽:
- 1、八款常用的 Python GUI 開發框架推薦
- 2、如何學習 Python GUI 編程
- 3、如何用 Python 寫一個帶 GUI 的科學計算程序
- 4、如何使用python寫gui編輯器
- 5、有哪些用python做的gui
- 6、Python GUI庫大匯總
八款常用的 Python GUI 開發框架推薦
作為Python開發者,你遲早都會用到圖形用戶界面來開發應用。本文將推薦一些 Python GUI 框架,希望對大家有所幫助。
Python 的 UI 開發工具包 Kivy
Kivy是一個開源工具包能夠讓使用相同源代碼創建的程序能跨平台運行。它主要關注創新型用戶界面開發,如:多點觸摸應用程序。Kivy還提供一個多點觸摸滑鼠模擬器。當前支持的平台包括:Linux、Windows、Mac OS X和Android。
Kivy擁有能夠處理動畫、緩存、手勢、繪圖等功能。它還內置許多用戶界面控制項如:按紐、攝影機、表格、Slider和樹形控制項等。
Python 的 GUI 開發工具 Flexx
Flexx 是一個純 Python 工具包,用來創建圖形化界面應用程序。其使用 Web 技術進行界面的渲染。你可以用 Flexx 來創建桌面應用,同時也可以導出一個應用到獨立的 HTML 文檔。因為使用純 Python 開發,所以 Flexx 是跨平台的。只需要有 Python 和瀏覽器就可以運行。如果是使用桌面模式運行,推薦使用 Firefox 。
Qt 庫的 Python 綁定 PyQt
PyQt是Qt庫的Python版本。PyQt3支持Qt1到Qt3。 PyQt4支持Qt4。它的首次發布也是在1998年,但是當時它叫 PyKDE,因為開始的時候SIP和PyQt沒有分開。PyQt是用SIP寫的。PyQt 提供 GPL版和商業版。
Python圖形開發包 wxPython
wxPython 是 Python 語言的一套優秀的 GUI 圖形庫,允許 Python 程序員很方便的創建完整的、功能鍵全的 GUI 用戶界面。 wxPython 是作為優秀的跨平台 GUI 庫 wxWidgets 的 Python 封裝和 Python 模塊的方式提供給用戶的。
就如同Python和wxWidgets一樣,wxPython也是一款開源軟體,並且具有非常優秀的跨平台能力,能夠運行在32位windows、絕大多數的Unix或類Unix系統、Macintosh OS X上。
Tk 圖形用戶界面 Tkinter
Tkinter(也叫Tk介面)是Tk圖形用戶界面工具包標準的Python介面。Tk是一個輕量級的跨平台圖形用戶界面(GUI)開發工具。Tk和Tkinter可以運行在大多數的Unix平台、Windows、和Macintosh系統。
Tkinter 由一定數量的模塊組成。Tkinter位於一個名為_tkinter(較早的版本名為tkinter)的二進位模塊中 。Tkinter包含了對Tk的低 級介面模塊,低級介面並不會被應用級程序員直接使用,通常是一個共享庫(或DLL),但是在一些情況下它也被Python解釋器靜態鏈接。
Pywin32
Windows Pywin32允許你像VC一樣的形式來使用PYTHON開發win32應用。代碼風格可以類似win32 sdk,也可以類似MFC,由你選擇。如果你仍不放棄vc一樣的代碼過程在python下,那麼這就是一個不錯的選擇。
Python 圖形界面開發包 PyGTK
PyGTK讓你用Python輕鬆創建具有圖形用戶界面的程序.底層的GTK+提供了各式的可視元素和功能,如果需要,你能開發在GNOME桌面系統運行的功能完整的軟體.
PyGTK真正具有跨平台性,它能不加修改地,穩定運行各種操作系統之上,如Linux,Windows,MacOS等.除了簡單易用和快速的原型開發能力外,PyGTK還有一流的處理本地化語言的獨特功能.
用python快速開發絢麗桌面程序 pyui4win
pyui4win是一個開源的採用自繪技術的界面庫。支持C++和python。用它可以很容易實現QQ和360安全衛士這樣的絢麗界面。而且,pyui4win有所見即所得界面設計器,讓C++開發人員和python開發人員直接用設計工具設計界面,而不用關心界面如何生成和運行,可以顯著縮短界面開發時間。在pyui4win中,界面甚至可以完全交給美工去處理,開發人員可以只負責處理業務邏輯,把開發人員徹底從繁雜的界面處理中解放出來。
以上就是為大家分享的八款常用的python GUI開發框架推薦,希望能對你有幫助。更多python學習資料,可以關注「武漢千鋒」微信公眾號。
如何學習 Python GUI 編程
在網頁中下載python3解釋器,我下載時候,版本是選擇的是3.3,因為python3和python2語法上有些區別,所以大家就跟我一樣都用python3吧,或許有朋友對於「語法」這個詞不明白,沒關係,後面小編會給大家講到的。下好後,文件名為python-3.3.3.msi,當然因為我們下載時間不同,可能文件有所不同,比如你下的可能是python-3.4.0.msi,因為這個軟體也是在不斷升級中的
雙擊下載下來的安裝文件,一路都選「next」,到第三步「Customize Python 」,在列表中的「Add python.exe to Path」前的紅叉上點擊滑鼠左鍵,然後選擇第一項「will be installed on local hard drive」,然後再點next,再稍等幾分鐘,python的解釋器就安裝好了。
然後我們在「開始」–「所有程序」中找到python
選擇IDLE(Python GUI),這是一個提供圖形化界面的python編程軟體,如果不用這個,我們就只有用那個黑色的框框了。打開IDLE,界面如下:
看到游標在「」後面閃爍了吧,我們在「」後面輸入命令,按下回車後,python解釋器就會解釋並執行這條命令了。好了,我們還是以最經典的入門程序來作為我們用python寫的第一個程序吧。我們用鍵盤敲入「print(“hello world”)」,在屏幕上顯示「hello word」,注意print後的括弧是英文括弧,而且編程語言中的符號都是英文符號,大家特別注意。敲下回車後,看到下面是不是顯示了「hello world」,注意此時 hello world前沒有「」,這個表明「hello world」是輸出結果。
接下來我們輸出一句中文,我們鍵入命令「print(“你好,朋友”)」,按下回車後,我們也會看到下面顯示了「你好,朋友」,注意我在描述時都為命令加了雙引號用於區別,大家在敲入命令時是不需要最外面的雙引號的,但是print中是需要雙引號的。
如何用 Python 寫一個帶 GUI 的科學計算程序
使用Tkinter圖形庫,如果你是用的linux系統 記得將第一行改為from tkinter import *
這個代碼實現的挺簡單,並不是很複雜的科學計算器界面,你可以以此為基礎,添加自己想要的東西:給你個截圖:
代碼是如下, 我就不給你添注釋了啊:
#!/usr/bin/env python3.4
from Tkinter import *
import parser
root = Tk()
root.title(‘Calculator’)
i = 0
def factorial():
“””Calculates the factorial of the number entered.”””
whole_string = display.get()
number = int(whole_string)
fact = 1
counter = number
try:
while counter 0:
fact = fact*counter
counter -= 1
clear_all()
display.insert(0, fact)
except Exception:
clear_all()
display.insert(0, “Error”)
def clear_all():
“””clears all the content in the Entry widget”””
display.delete(0, END)
def get_variables(num):
“””Gets the user input for operands and puts it inside the entry widget”””
global i
display.insert(i, num)
i += 1
def get_operation(operator):
“””Gets the operand the user wants to apply on the functions”””
global i
length = len(operator)
display.insert(i, operator)
i += length
def undo():
“””removes the last entered operator/variable from entry widget”””
whole_string = display.get()
if len(whole_string): ## repeats until
## now just decrement the string by one index
new_string = whole_string[:-1]
print(new_string)
clear_all()
display.insert(0, new_string)
else:
clear_all()
display.insert(0, “Error, press AC”)
def calculate():
“””
Evaluates the expression
ref :
“””
whole_string = display.get()
try:
formulae = parser.expr(whole_string).compile()
result = eval(formulae)
clear_all()
display.insert(0, result)
except Exception:
clear_all()
display.insert(0, “Error!”)
root.columnconfigure(0,pad=3)
root.columnconfigure(1,pad=3)
root.columnconfigure(2,pad=3)
root.columnconfigure(3,pad=3)
root.columnconfigure(4,pad=3)
root.rowconfigure(0,pad=3)
root.rowconfigure(1,pad=3)
root.rowconfigure(2,pad=3)
root.rowconfigure(3,pad=3)
display = Entry(root, font = (“Calibri”, 13))
display.grid(row = 1, columnspan = 6 , sticky = W+E)
one = Button(root, text = “1”, command = lambda : get_variables(1), font=(“Calibri”, 12))
one.grid(row = 2, column = 0)
two = Button(root, text = “2”, command = lambda : get_variables(2), font=(“Calibri”, 12))
two.grid(row = 2, column = 1)
three = Button(root, text = “3”, command = lambda : get_variables(3), font=(“Calibri”, 12))
three.grid(row = 2, column = 2)
four = Button(root, text = “4”, command = lambda : get_variables(4), font=(“Calibri”, 12))
four.grid(row = 3 , column = 0)
five = Button(root, text = “5”, command = lambda : get_variables(5), font=(“Calibri”, 12))
five.grid(row = 3, column = 1)
six = Button(root, text = “6”, command = lambda : get_variables(6), font=(“Calibri”, 12))
six.grid(row = 3, column = 2)
seven = Button(root, text = “7”, command = lambda : get_variables(7), font=(“Calibri”, 12))
seven.grid(row = 4, column = 0)
eight = Button(root, text = “8”, command = lambda : get_variables(8), font=(“Calibri”, 12))
eight.grid(row = 4, column = 1)
nine = Button(root , text = “9”, command = lambda : get_variables(9), font=(“Calibri”, 12))
nine.grid(row = 4, column = 2)
cls = Button(root, text = “AC”, command = clear_all, font=(“Calibri”, 12), foreground = “red”)
cls.grid(row = 5, column = 0)
zero = Button(root, text = “0”, command = lambda : get_variables(0), font=(“Calibri”, 12))
zero.grid(row = 5, column = 1)
result = Button(root, text = “=”, command = calculate, font=(“Calibri”, 12), foreground = “red”)
result.grid(row = 5, column = 2)
plus = Button(root, text = “+”, command = lambda : get_operation(“+”), font=(“Calibri”, 12))
plus.grid(row = 2, column = 3)
minus = Button(root, text = “-“, command = lambda : get_operation(“-“), font=(“Calibri”, 12))
minus.grid(row = 3, column = 3)
multiply = Button(root,text = “*”, command = lambda : get_operation(“*”), font=(“Calibri”, 12))
multiply.grid(row = 4, column = 3)
divide = Button(root, text = “/”, command = lambda : get_operation(“/”), font=(“Calibri”, 12))
divide.grid(row = 5, column = 3)
# adding new operations
pi = Button(root, text = “pi”, command = lambda: get_operation(“*3.14”), font =(“Calibri”, 12))
pi.grid(row = 2, column = 4)
modulo = Button(root, text = “%”, command = lambda : get_operation(“%”), font=(“Calibri”, 12))
modulo.grid(row = 3, column = 4)
left_bracket = Button(root, text = “(“, command = lambda: get_operation(“(“), font =(“Calibri”, 12))
left_bracket.grid(row = 4, column = 4)
exp = Button(root, text = “exp”, command = lambda: get_operation(“**”), font = (“Calibri”, 10))
exp.grid(row = 5, column = 4)
## To be added :
# sin, cos, log, ln
undo_button = Button(root, text = “-“, command = undo, font =(“Calibri”, 12), foreground = “red”)
undo_button.grid(row = 2, column = 5)
fact = Button(root, text = “x!”, command = factorial, font=(“Calibri”, 12))
fact.grid(row = 3, column = 5)
right_bracket = Button(root, text = “)”, command = lambda: get_operation(“)”), font =(“Calibri”, 12))
right_bracket.grid(row = 4, column = 5)
square = Button(root, text = “^2”, command = lambda: get_operation(“**2”), font = (“Calibri”, 10))
square.grid(row = 5, column = 5)
root.mainloop()
如何使用python寫gui編輯器
自帶編輯器python IDE(GUI):
python IDE(GUI)是交互環境下進行的,有相應的提示符「」。程序員寫一句,按下enter後,就會回應一句,出現「」.
若要按照正常的敲代碼換行,就按ctrl+n 自動創建一個編輯文件,編輯好後,再F5執行就可以了;或者在python IDE(GUI)的窗口中的File-New Window創建。
有哪些用python做的gui
wxpython 是供 python 使用的 GUI 工具。另外還可以用 Tkinter, PyQT,pyGtk等很多。
至於用 python 開發的圖形界面軟體就很多很多了(不然這些GUI 工具就沒意義了吧),例如第一個BT 下載軟體 Bittorrent。
Python GUI庫大匯總
所有程序都是基於命令行的,這些程序可能只有一些「專業」的計算機人士才會使用。例如前面編寫的五子棋等程序,恐怕只有程序員自己才願意玩這麼「糟糕」的遊戲,很少有最終用戶願意對著黑乎乎的命令行界面敲命令。
相反,如果為程序提供直觀的圖形用戶界面(Graphics User Interface, GUI),最終用戶通過拖動滑鼠、單擊等動作就可以操作整個應用,這樣的應用程序就會很受政迎(實際上,Windows 之所以廣為人知,其最初的吸引力就是來自它所提供的圖形用戶界面)。
作為一個程序設計者,必須優先考慮用戶的感受,一定要讓用戶感到「爽」,程序才會被需要、被使用,這樣的程序才有價值。
在真正開始介紹 Python 圖形界面編程之前,首先簡單介紹一下 Python 的圖形用戶界面庫。
1) PyGObject
PyGObject 庫為基於 GObject 的 C 函數庫提供了內省綁定,這些庫可以支持 GTK+3 圖形界面工具集,因此時 GObject 提供了豐富的圖形界面組件。
2) PyGTK
PyGTK 基於老版本的 GTK+2 的庫提供綁定,藉助於底層 GTK+2 所提供的各種可視化元素和組件,同樣可以開發出在 GNOME 桌面系統上運行的軟體,因此它主要適用於 Linux/UNIX 系統。PyGTK 對 GTK+2 的 C 語言進行了簡單封裝,提供了面向對象的編程介面。其官方網址是。
3) PyQt
PyQt 是 Python 編程語言和 Qt 庫的成功融合。Qt 本身是一個擴展的 C++ GUI 應用開發框架,Qt 可以在 UNIX、Windows 和 Mac OS X 上完美運行,因此 PyQt 是建立在 Qt 基礎上的 Python 包裝。所以 PyQt 也能跨平台使用。
4) PySide
PySide 是由 Nokia 提供的對 Qt 工具集的新的包裝庫,目前成熟度不如 PyQt。
5) wxPython
wxPython 是一個跨平台的 GUI 工具集,wxPython 以流行的 wxWidgets(原名 wxWindows)為基礎,提供了良好的跨平台外觀。簡單來說,wxPython 在 Windows上調用 Windows 的本地組件、在 Mac OS 上調用 Mac OS X 的本地組件、在 Linux 上調用 Linux 的本地組件,這樣可以讓 GUI 程序在不同的平台上顯示平台對應的風格。wxPython 是一個非常流行的跨平台的 GUI 庫。
如果讀者有需要,則完全可以選擇上面這些 Python GUI 庫來開發圖形用戶界面。如果考慮開發跨平台的圖形用戶界面,則推薦使用 PyQt 或 wsPython。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/196957.html