Python GUI介面程式設計-初識

夢共裡醉發表於2020-05-02
圖形使用者介面(Graphical User Interface,簡稱 GUI,又稱圖形使用者介面)是指採用圖形方式顯示的計算機操作使用者介面。與早期計算機使用的 命令行介面相比,圖形介面對於使用者來說在視覺上更易於接受。然而這介面若要通過在螢幕的特定位置,以"各種美觀而不單調的視覺訊息"提示使用者"狀態的改變",勢必得比簡單的訊息呈現花上更多的計算能力。
GUI概述

圖形使用者介面(Graphical User Interface,簡稱 GUI,又稱圖形使用者介面)是指採用圖形方式顯示的計算機操作使用者介面。與早期計算機使用的 命令行介面相比,圖形介面對於使用者來說在視覺上更易於接受。然而這介面若要通過在螢幕的特定位置,以"各種美觀而不單調的視覺訊息"提示使用者"狀態的改變",勢必得比簡單的訊息呈現花上更多的計算能力。在 GUI 中,並不只是鍵入文字和返回文字,使用者可以看到視窗、按鈕、文字框等圖形,而且可以用滑鼠單擊,還可以通過鍵盤鍵入,GUI 是與程式互動的一種不同的方式。

Python GUI常用框架
Flexx

Flexx是一個純Python工具包,用於建立圖形使用者介面(GUI),它使用Web技術進行渲染。 應用程式完全用Python編寫;PScript轉換器動態生成必要的JavaScript。
Python GUI介面程式設計-初識Python GUI介面程式設計-初識
專案地址:https://github.com/flexxui/flexx
入門指南:https://flexx.readthedocs.io/en/stable/guide/index.html
安裝
Flexx需要Python 3.5+,也適用於pypy。 此外,它還依賴以下的庫:

要安裝最新版本(和依賴項),請使用以下任一命令:

pip install flexx
conda install flexx -c conda-forge
或者用以下方法來獲得更新:

pip install https://github.com/flexxui/flexx/archive/master.zip

wxPython

wxPython是用於Python程式語言的跨平臺GUI工具箱。它允許Python程式設計師輕鬆,輕鬆地建立具有健壯,功能強大的圖形使用者介面的程式。它是作為一組Python擴充套件模組實現的,這些模組包裝了用C ++編寫的流行wxWidgets跨平臺庫的GUI元件 。
官網:https://www.wxpython.org/
Python GUI介面程式設計-初識Python GUI介面程式設計-初識

Kivy

Kivy是開源Python函式庫,用於開發行動應用程式和其它採用自然使用者介面的多點觸控應用軟體。它可以在Android,iOS, Linux,OS X和Windows執行。採用MIT授權條款,Kivy是自由並且開源的軟體。
Python GUI介面程式設計-初識Python GUI介面程式設計-初識
官網:https://kivy.org/

PyQt

PyQt是Qt公司 Qt應用程式框架的一組Python v2和v3繫結,可在Qt支援的所有平臺上執行,包括Windows,OS X,Linux,iOS和Android。PyQt5支援Qt v5。PyQt4支援Qt v4,並將針對Qt v5進行構建。繫結是作為一組Python模組實現的,包含1000多個類。
官網:https://www.riverbankcomputing.com/software/pyqt/intro
Python GUI介面程式設計-初識Python GUI介面程式設計-初識

Tkinter

Tkinter 是使用 python 進行視窗視窗設計的模組。Tkinter模組("Tk 介面")是Python的標準Tk GUI工具包的介面。作為 python 特定的GUI介面,是一個影像的視窗,tkinter是python 自帶的,可以編輯的GUI介面,我們可以用GUI 實現很多直觀的功能,比如想開發一個計算器,如果只是一個程式輸入,輸出視窗的話,是沒用使用者體驗的。所有開發一個影像化的小視窗,就是必要的。
Python GUI介面程式設計-初識Python GUI介面程式設計-初識
索引:https://wiki.python.org/moin/TkInter

Pywin32

Windows Pywin32允許你像VC一樣的形式來使用PYTHON開發win32應用。程式碼風格可以類似win32 sdk,也可以類似MFC,由你選擇。如果你仍不放棄vc一樣的程式碼過程在python下,那麼這就是一個不錯的選擇。
專案地址:https://github.com/mhammond/pywin32

PyGTK

PyGTK讓你用Python輕鬆建立具有圖形使用者介面的程式
Python GUI介面程式設計-初識Python GUI介面程式設計-初識
官網:https://pygobject.readthedocs.io/en/latest/

建立應用程式

使用wxPython框架

安裝

Windwos與MAC平臺使用pip工具安裝wxPython只需要一行命令:
pip install -U wxPython
Python GUI介面程式設計-初識Python GUI介面程式設計-初識
Linux平臺:

由於發行版和wx埠(GTK2或GTK3)有多種選項,因此檔案不能全部位於同一資料夾中,以便通過pip輕鬆訪問。這只是意味著您需要進一步細化以找到要提供給pip的URL。例如,要獲取適用於Ubuntu 16.04(和16.10,LinuxMint 18以及其他版本)的GTK3 wxPython構建,可以使用如下pip命令:
pip install -U \
-f https://extras.wxpython.org/wxPython4/extras/linux/gtk3/ubuntu-16.04 \
wxPython
準備

注意:本部分知識來源與網路
使用wxPython之前,先了解兩個基礎物件:應用程式物件和頂級視窗。
應用程式物件管理主事件迴圈,主事件迴圈是wxPython程式的動力。如果沒有應用程式物件,wxPython應用程式將不能執行。
頂級視窗通常用於管理最重要的資料,控制並呈現給使用者。
兩個基礎物件和應用程式的其他部分之間的關係如下圖所示:
Python GUI介面程式設計-初識Python GUI介面程式設計-初識
這個應用程式物件擁有頂級視窗和主迴圈事件。頂級視窗管理其視窗中的元件和其他的分配給它的資料物件。視窗和它的元件觸發的事件基於使用者的動作,並接受事件通知以便改變顯示。

Hell Word

程式碼:
import wx
app = wx.App(False)
frame = wx.Frame(None,wx.ID_ANY,"Hello,world!!!_Linux就該這麼學")
frame.Show(show=True)
app.MainLoop()
Python GUI介面程式設計-初識Python GUI介面程式設計-初識 解析: Python GUI介面程式設計-初識Python GUI介面程式設計-初識 注意:

  • 可以用-1來替代wx.ID_ANY,-1 就是預設值的意思。另外wxWidgets還提供了其它的標準 ID(v2.8)。 你也可以自定義一個ID,但Getting Started with wxPython 認為,沒有理由那樣做,用標準ID更好。
  • wx.Frame的完整語法是:
    wx.Frame(parent, id=-1, title="", pos=wx.DefaultPosition,size=wx.DefaultSize, style=wx.DEFAULT_FRAME_STYLE,name="frame")
    parent:框架的父視窗。如果是頂級視窗,這個值是None。
    id:關於新視窗的wxPython ID號。通常設為-1,讓wxPython自動生成一個新的ID。
    title:視窗的標題。
    pos:一個wx.Point物件,它指定這個新視窗的左上角在螢幕中的位置。在圖形使用者介面程式中,通常(0,0)是顯示器的左上角。這個預設值(-1,-1)將讓系統決定視窗的位置。
    size:一個wx.Size物件,它指定這個視窗的初始尺寸。這個預設值(-1,-1)將讓系統決定視窗的初始尺寸。
    style:指定視窗的型別的常量。可以使用或運算來組合它們。
    name:框架內在的名字。可以使用它來尋找這個視窗。

Python GUI介面程式設計-初識篇到此結束,感謝您的閱讀,願您可從此文獲取收穫。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31524109/viewspace-2689712/,如需轉載,請註明出處,否則將追究法律責任。

相關文章