對gui應用於原有程式的些許思考
小結參考文章:
python gui 中三大框架tkinter,wxpython, pyqt
pyqt5(designer)入門指引
pyqt5教程 - qtdesigner視窗設計工具的使用
pyqt5是一套python繫結digia qt5應用的框架。qt庫是最強大的gui庫之一。
pyqt5做為python的乙個模組,它有620多個類和6000個函式和方法。這是乙個跨平台的工具包,它可以執行在所有主要的作業系統,包括unix,windows,mac os。pyqt5是雙重許可。開發者可以在gpl和商業許可之間進行選擇。比起tkinter的ui布局全靠**實現,只有15種常用部件,顯示效果簡陋,pyqt5更有優勢。
通常來說,編寫gui有兩種方法: 第一種就是直接使用方便快捷的qt designer。 第二種就是寫**。在有qt designer的情況下,是完全不推薦費時費力手寫gui**的。
qt designer中的操作方式十分靈活,其通過拖拽的方式放置控制項可以隨時檢視控制項效果。此外,它還實現了檢視和邏輯的分離。
qt designer可以所見即所得,並且可以方便的修改並做出各種調整,另外我們也可以通過它生成的**來學習一些視窗控制項的用法。
當然,要做出華麗的介面還是要學**的。
生成python**
使用cmd將目錄切到檔案所在目錄並執行下面的命令。請自行將下面命令中的name替換成檔名
pyuic5 -o name.py name.ui
此時嘗試執行剛剛生成的「helloworld.py」是沒用的,因為生成的檔案並沒有程式入口。(缺少主程式部分)**因此我們在同乙個目錄下另外建立乙個程式叫做「main.py」,並輸入如下內容。在本例中,gui_file_name就是helloworld,請自行替換。
import sys
import gui_file_name
if __name__ ==
'__main__'
:(sys.ar**)
mainwindow =
qmainwindow()
ui = gui_file_name.
ui_mainwindow()
ui.setupui
(mainwindow)
mainwindow.
show()
sys.
exit
exec_()
)
然後執行「main.py」,就能看到剛編寫的gui了。
互動傳參 (例項:單向匯率轉換器)
partial(function, arg1, arg2,..
....
)
要在程式(main.py)的頭部加上下面這行:
from functools import partial
把之前按鈕觸發一行的**修改為:
ui.pushbutton.clicked.connect(partial(convert, ui)
)
def
convert
(ui)
:input
= ui.lineedit.text(
)## lineedit為輸入框的物件名,再用text()方法
result =
float
(input)*
6.7 ui.lineedit_2.settext(
str(result)
)## settext()並轉換為str
首先要明確的是物件導向程式設計,類要有,乙個個類中的函式也要分明。這樣便於**編寫、整理、瀏覽。
那麼如何在原有**基礎上用gui呈現程式呢?
所以現在的初步想法是 在有關圖形介面互動的函式中 巢狀 原有程式的對應執行函式,但等具體操作時才能確認這種做法是否合理。
Oracle入門必會(5)
81.內連線inner join?select a.from bsempms a,bsdptms b where a.dpt no b.dpt no 82.如何外連線?select a.from bsempms a,bsdptms b where a.dpt no b.dpt no select a...
學習zigbee入門 5
if defined soft start if readcoordinatorjumper zgdevicelogicaltype zg devicetype coordinator else zgdevicelogicaltype zg devicetype router endif soft ...
Linux入門使用 5
vim 是vi的公升級版 一般都用vim vi 就是vim的符號鏈結檔案 當vi 乙個不存在的檔案時 自動建立該檔案,若沒有寫入內容退出即丟失2 vi的兩種工作模式 命令模式 當vi乙個檔案時自動為命令模式,若要進入輸入模式需要按 a 或者i 一般命令 wq 儲存並退出 w 只儲存 q 儲存 wq!...