1. 程式人生 > >pyFormUI: 一個簡單的Python GUI介面框架

pyFormUI: 一個簡單的Python GUI介面框架

Python開發GUI介面, 可以使用pyQT或者wxpython。 不過不論pyQT還是wxpython都需要比較多的學習成本。Python工程往往是用於快速開發的,有些時候引入pyQT,wxpython會讓python工程變得比較複雜。

在很多情況下,python開發的都是命令列程式,使用者很多時候抱怨最大的不是程式的輸出,而是命令列的引數需要記憶。所以很多時候,python命令列程式並不需要整個程式都是GUI,只需要命令列輸入替換為GUI, 程式的設定替換為GUI就可以了。

比如說,git命令功能很強大,對於初學者而言,最大的困難就在於git命令如何寫,git命令執行結果在terminal中輸出,大部分人還是勉強可以接受的。


這裡介紹一個Python框架,可以快速的設計出GUI。可以說是目前最簡單的python GUI開發框架。

pyFormUI基於wxpython設計的,不過對wxpython進行了完全封裝。使用時不用瞭解wxpython.


安裝pyFormUI

1.下載pyFormUI

pyFormUI在:

https://github.com/jeffchau1979/pyFormUI

git clone https://github.com/jeffchau1979/pyFormUI.git


2.安裝wxpython

sudo apt-get install python-wxtools
3.進入Demo

python Demo.py

可看到執行結果:




編寫pyFormUI程式

可以參考Demo目錄下的SimpleDemo.py ,SimpleDemo.xml這個例子來建立pyFormUI程式。

1.程式的介面是採用XML定義的

<?xml version="1.0"?>
<form title="Demo GUI" width='500' height='100'>
   <line>
        <static title="Text:" width='50' />
        <text
id='id_text'/> </line> <line align="right"> <button id='id_ok' title='Ok'/> </line> </form>
2. 然後載入xml介面,並顯示,這部分程式碼按如下模版寫就可以了。
from FormUI import *
builder = Builder()
builder.loadLayout('demo.xml')
formUI = FormUI(builder)
formUI.show()

3. 對xml中定義的控制元件,新增處理

def OkButtonHandler(windowHandler, handlerPara):
    print handlerPara.getValue('id_text')
    windowHandler.closeWindow()
builder.setCtrlHandler('id_ok', OkButtonHandler)
編寫pyFormUI程式時,要做的就是在xml中定義介面佈局, 然後對控制元件新增處理。