PyQt是Python版本的Qt庫,是最常用的跨平臺圖形界面編程框架之一。代碼不用修改,就能同時運行在windows、linux、ios、andriod等平臺。因此,對芯片設計行業來說,既可以用來開發大型EDA工具(通常用Qt的C++庫),也可以用來開發公司內部的flow工具,還可以用作應用工程師的測試工具。所以,今天,以Linux平臺為例,來介紹一下Python Qt的基本用法。
一、安裝PyQt
我們在venv虛擬環境下安裝PyQt5,方法如下:
# 建立python虛擬環境 python3-m venvvenv # 激活虛擬環境 source./venv/bin/activate # 通過阿里云pypi鏡像安裝PyQt5庫 pip3 install -i https://mirrors.aliyun.com/pypi/simple PyQt5 #查看安裝了哪些第三方庫 pip3 list
最后,可以再用pip3 list來確認安裝了哪些第三方庫,如下圖所示。
二、PyQt5主要類庫的功能介紹
PyQt5中包含了很多類別的庫,其中有三個庫最為常用:QtWidgets、QtGui、QtCore。
QtWidgets,我們需要的按鈕、文本框、下拉框、菜單、工具條等界面上顯示的東西都在這個庫里。
QtGui,這個庫里有各種事件的定義,比如單擊、文本框里文字改變,窗口關閉等,還包括了字體、剪貼板、調色板、圖形圖片等。
QtCore,這個庫里定義了各種數據類型、線程等非圖形界面的內容。
三、Hello World例子
要求:我們來做一個輸入框和按鈕,點擊按鈕后把輸入框里的文字打印到終端。
示例代碼:
import sys from PyQt5.QtWidgets import (QApplication, QWidget, QVBoxLayout, QLineEdit, QPushButton) # create an app app = QApplication(sys.argv) # create an empty window window = QWidget() # create a vertical box to contain all gui components, and add vbox to window vbox = QVBoxLayout() window.setLayout(vbox) # create a line edit in vbox edit = QLineEdit() vbox.addWidget(edit) #defineahandlefunctionforbutton def say_hello(): txt = edit.text() print('Hello ' + txt) # create a button, and connect clicked event to the handle function in vbox button = QPushButton("Click Me") button.clicked.connect(say_hello) vbox.addWidget(button) # show window and execute app window.show() ret = app.exec_() # exit after the window is closed sys.exit(ret)
執行效果:
四、總結
本pyqt5 hello world示例,創建了一個文本框和一個按鈕,并且點擊按鈕與函數say_hello()相連。在文本框中輸入文字再點擊按鈕,就會在終端里打印出結果“Hello + 文本框內容”。
本示例與其它pyqt5教程相比,并沒有使用class的寫法,而是直接用函數,降低了學習門檻,更有利于初學者理解。
-
Qt
+關注
關注
1文章
308瀏覽量
38065 -
python
+關注
關注
56文章
4807瀏覽量
85037 -
圖形界面
+關注
關注
0文章
37瀏覽量
7407 -
pyqt
+關注
關注
0文章
12瀏覽量
4327 -
pyqt5
+關注
關注
0文章
25瀏覽量
3408
原文標題:用PyQt5做圖形界面(一)Hello world
文章出處:【微信號:ExASIC,微信公眾號:ExASIC】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論