009 4 9 GUI Pyqt5入門學習

2021-10-04 20:57:00 字數 2023 閱讀 2830

對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!...