用python做的gui編程,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

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-03 13:29
下一篇 2024-12-03 13:29

相關推薦

  • Python周杰倫代碼用法介紹

    本文將從多個方面對Python周杰倫代碼進行詳細的闡述。 一、代碼介紹 from urllib.request import urlopen from bs4 import Bea…

    編程 2025-04-29
  • 如何查看Anaconda中Python路徑

    對Anaconda中Python路徑即conda環境的查看進行詳細的闡述。 一、使用命令行查看 1、在Windows系統中,可以使用命令提示符(cmd)或者Anaconda Pro…

    編程 2025-04-29
  • Python計算陽曆日期對應周幾

    本文介紹如何通過Python計算任意陽曆日期對應周幾。 一、獲取日期 獲取日期可以通過Python內置的模塊datetime實現,示例代碼如下: from datetime imp…

    編程 2025-04-29
  • Python中引入上一級目錄中函數

    Python中經常需要調用其他文件夾中的模塊或函數,其中一個常見的操作是引入上一級目錄中的函數。在此,我們將從多個角度詳細解釋如何在Python中引入上一級目錄的函數。 一、加入環…

    編程 2025-04-29
  • Python列表中負數的個數

    Python列表是一個有序的集合,可以存儲多個不同類型的元素。而負數是指小於0的整數。在Python列表中,我們想要找到負數的個數,可以通過以下幾個方面進行實現。 一、使用循環遍歷…

    編程 2025-04-29
  • python強行終止程序快捷鍵

    本文將從多個方面對python強行終止程序快捷鍵進行詳細闡述,並提供相應代碼示例。 一、Ctrl+C快捷鍵 Ctrl+C快捷鍵是在終端中經常用來強行終止運行的程序。當你在終端中運行…

    編程 2025-04-29
  • 蝴蝶優化演算法Python版

    蝴蝶優化演算法是一種基於仿生學的優化演算法,模仿自然界中的蝴蝶進行搜索。它可以應用於多個領域的優化問題,包括數學優化、工程問題、機器學習等。本文將從多個方面對蝴蝶優化演算法Python版…

    編程 2025-04-29
  • Python清華鏡像下載

    Python清華鏡像是一個高質量的Python開發資源鏡像站,提供了Python及其相關的開發工具、框架和文檔的下載服務。本文將從以下幾個方面對Python清華鏡像下載進行詳細的闡…

    編程 2025-04-29
  • Python字典去重複工具

    使用Python語言編寫字典去重複工具,可幫助用戶快速去重複。 一、字典去重複工具的需求 在使用Python編寫程序時,我們經常需要處理數據文件,其中包含了大量的重複數據。為了方便…

    編程 2025-04-29
  • Python程序需要編譯才能執行

    Python 被廣泛應用於數據分析、人工智慧、科學計算等領域,它的靈活性和簡單易學的性質使得越來越多的人喜歡使用 Python 進行編程。然而,在 Python 中程序執行的方式不…

    編程 2025-04-29

發表回復

登錄後才能評論