Python GUI介面程式設計-初識
圖形使用者介面(Graphical User Interface,簡稱 GUI,又稱圖形使用者介面)是指採用圖形方式顯示的計算機操作使用者介面。與早期計算機使用的 命令行介面相比,圖形介面對於使用者來說在視覺上更易於接受。然而這介面若要通過在螢幕的特定位置,以"各種美觀而不單調的視覺訊息"提示使用者"狀態的改變",勢必得比簡單的訊息呈現花上更多的計算能力。 |
圖形使用者介面(Graphical User Interface,簡稱 GUI,又稱圖形使用者介面)是指採用圖形方式顯示的計算機操作使用者介面。與早期計算機使用的 命令行介面相比,圖形介面對於使用者來說在視覺上更易於接受。然而這介面若要通過在螢幕的特定位置,以"各種美觀而不單調的視覺訊息"提示使用者"狀態的改變",勢必得比簡單的訊息呈現花上更多的計算能力。在 GUI 中,並不只是鍵入文字和返回文字,使用者可以看到視窗、按鈕、文字框等圖形,而且可以用滑鼠單擊,還可以通過鍵盤鍵入,GUI 是與程式互動的一種不同的方式。
Flexx是一個純Python工具包,用於建立圖形使用者介面(GUI),它使用Web技術進行渲染。 應用程式完全用Python編寫;PScript轉換器動態生成必要的JavaScript。
專案地址:https://github.com/flexxui/flexx
入門指南:https://flexx.readthedocs.io/en/stable/guide/index.html
安裝
Flexx需要Python 3.5+,也適用於pypy。 此外,它還依賴以下的庫:
- Tornado庫(純Python)。
- PScript庫(純Python flexxui專案)
- Webruntime庫(純Python flexxui專案)
- Dialite庫(純Python flexxui專案)
要安裝最新版本(和依賴項),請使用以下任一命令:
pip install flexx
conda install flexx -c conda-forge
或者用以下方法來獲得更新:
pip install https://github.com/flexxui/flexx/archive/master.zip
wxPython是用於Python程式語言的跨平臺GUI工具箱。它允許Python程式設計師輕鬆,輕鬆地建立具有健壯,功能強大的圖形使用者介面的程式。它是作為一組Python擴充套件模組實現的,這些模組包裝了用C ++編寫的流行wxWidgets跨平臺庫的GUI元件 。
官網:https://www.wxpython.org/
Kivy是開源Python函式庫,用於開發行動應用程式和其它採用自然使用者介面的多點觸控應用軟體。它可以在Android,iOS,
Linux,OS X和Windows執行。採用MIT授權條款,Kivy是自由並且開源的軟體。
官網:https://kivy.org/
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
Tkinter 是使用 python 進行視窗視窗設計的模組。Tkinter模組("Tk 介面")是Python的標準Tk GUI工具包的介面。作為 python 特定的GUI介面,是一個影像的視窗,tkinter是python 自帶的,可以編輯的GUI介面,我們可以用GUI 實現很多直觀的功能,比如想開發一個計算器,如果只是一個程式輸入,輸出視窗的話,是沒用使用者體驗的。所有開發一個影像化的小視窗,就是必要的。
索引:https://wiki.python.org/moin/TkInter
Windows Pywin32允許你像VC一樣的形式來使用PYTHON開發win32應用。程式碼風格可以類似win32 sdk,也可以類似MFC,由你選擇。如果你仍不放棄vc一樣的程式碼過程在python下,那麼這就是一個不錯的選擇。
專案地址:https://github.com/mhammond/pywin32
PyGTK讓你用Python輕鬆建立具有圖形使用者介面的程式
官網:https://pygobject.readthedocs.io/en/latest/
使用wxPython框架
Windwos與MAC平臺使用pip工具安裝wxPython只需要一行命令:
pip install -U wxPython
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應用程式將不能執行。
頂級視窗通常用於管理最重要的資料,控制並呈現給使用者。
兩個基礎物件和應用程式的其他部分之間的關係如下圖所示:
這個應用程式物件擁有頂級視窗和主迴圈事件。頂級視窗管理其視窗中的元件和其他的分配給它的資料物件。視窗和它的元件觸發的事件基於使用者的動作,並接受事件通知以便改變顯示。
程式碼:
import wx
解析:
注意:
app = wx.App(False)
frame = wx.Frame(None,wx.ID_ANY,"Hello,world!!!_Linux就該這麼學")
frame.Show(show=True)
app.MainLoop()
- 可以用-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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- python非同步程式設計之asyncio初識Python非同步程式設計
- 初識shell程式設計程式設計
- GUI程式設計GUI程式設計
- Python GUI程式設計:tkinter關於ttkbootstrapPythonGUI程式設計boot
- python Gui程式設計工具詳解:beewarePythonGUI程式設計
- 01 GUI程式設計GUI程式設計
- python的GUI程式設計和tkinter學習筆記——第一個GUI程式PythonGUI程式設計筆記
- Python tkinter是什麼?GUI程式設計有哪些?PythonGUI程式設計
- 14.GUI 程式設計GUI程式設計
- 初識C#網路程式設計C#程式設計
- 【專案】Python人臉識別(GUI介面)—— 基於pyopencvPythonGUIOpenCV
- GUI介面程式碼(家)GUI
- python實戰GUI介面+mysqlPythonGUIMySql
- PyQt5 GUI程式設計QTGUI程式設計
- GUI程式設計process4GUI程式設計
- 樹莓派GUI程式設計樹莓派GUI程式設計
- 【python介面自動化】初識unittest框架Python框架
- 初試python的socket程式設計--ftpPython程式設計FTP
- 【Java GUI 程式設計】Swing 使用者介面開發工具包JavaGUI程式設計
- Java-GUI 程式設計之 SwingJavaGUI程式設計
- Tkinter系列教程01—引言和安裝Tk—Python GUI程式設計PythonGUI程式設計
- 初識策略設計模式設計模式
- python的tkinter程式設計(四)GUI介面裡面使用類進行開發,也就是自定義元件Python程式設計GUI元件
- 【java學習】GUI 圖形程式設計JavaGUI程式設計
- PyQt5 GUI程式設計(元件使用)QTGUI程式設計元件
- Java學習之AWT GUI程式設計JavaGUI程式設計
- Java-GUI程式設計之Swing元件JavaGUI程式設計元件
- java-GUI程式設計之AWT元件JavaGUI程式設計元件
- Java學習之Swing Gui程式設計JavaGUI程式設計
- Day43--GUI程式設計簡介GUI程式設計
- Java 函數語言程式設計(一)初識篇Java函數程式設計
- Matlab圖形使用者介面程式設計初級入門Matlab程式設計
- GUI程式設計--班級資訊收集系GUI程式設計
- GUI程式設計--班級資訊收集系..GUI程式設計
- Java-GUI程式設計之事件處理JavaGUI程式設計事件
- Java-GUI程式設計之選單元件JavaGUI程式設計元件
- 初學程式設計,Scratch和Python哪個更合適?程式設計Python
- 初識tsfresh in PythonPython