PyQt是Python版本的Qt庫,是最常用的跨平臺圖形界面編程框架之一。代碼不用修改,就能同時運行在windows、linux、ios、andriod等平臺。因此,對芯片設計行業來說,既可以用來開發大型EDA工具(通常用Qt的C++庫),也可以用來開發公司內部的flow工具,還可以用作應用工程師的測試工具。所以,今天,以Linux平臺為例,來介紹一下Python Qt的基本用法。
一、安裝PyQt
我們在venv虛擬環境下安裝PyQt5,方法如下:
# 建立python虛擬環境
python3 -m venv venv
# 激活虛擬環境
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)
# define a handle function for button
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的寫法,而是直接用函數,降低了學習門檻,更有利于初學者理解。
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。
舉報投訴
-
Linux
+關注
關注
88文章
11758瀏覽量
219005 -
編程
+關注
關注
90文章
3716瀏覽量
97178 -
Flow
+關注
關注
0文章
10瀏覽量
9134 -
pyqt
+關注
關注
0文章
12瀏覽量
4521
發布評論請先 登錄
相關推薦
熱點推薦
使用PyQt5自動初始化OpenVINO?環境出現報錯怎么解決?
編寫了一個程序以使用 PyQt5 自動初始化OpenVINO?環境:從 PyQt5 導入 QtWidgets
導入操作系統
#import時間
導入系統
如果__name__
發表于 03-07 06:35
【Firefly RK3399試用體驗】第二篇:PyQt5大戰點燈
;/sys/class/leds/ firefly:yellow:use/brightness//黃燈亮之后對PyQt5的安裝做一下介紹,ubuntu的包管理安裝PyQt5時會自動安裝依賴的Python等
發表于 06-12 07:49
利用PyQt5編輯軟件界面的簡單步驟
的操作以及利用PyQt5編輯軟件界面的簡單步驟。實現難度不大,但需要運行第二線程運行輸出脈沖的程序。 首先,推薦一下PyQt5和Eric6的學習資料...
發表于 09-16 07:48
如何使用Python配合PyQT5模塊來開發圖形化應用程序
By Toradex秦海1).簡介隨著Python在互聯網人工智能領域的流行,大家也慢慢感受到Python開發的便利,本文就基于嵌入式ARM平臺,介紹使用Python配合PyQT5模塊來開發圖形
發表于 12-24 06:41
基于UC/OSII的圖形界面系統的設計與應用
uC/OSII 以其嚴格的實時性得到了廣泛的應用,但目前適用于uC/OSII 的圖形界面卻很少。本文詳細介紹了一種適用于uC/OSII 的圖形界面--uC/GUI 的體系結構和特點,同時介紹了S3C44B0X 內置LC
發表于 09-02 10:03
?33次下載
Python PyQt5工具在Windows平臺上的安裝方法
Python PyQt5工具安裝步驟:1. 安裝Python3.4.1,默認安裝路徑:C:\Python34;2. 安裝PyQt5,會根據Python的安裝路徑自動進行安裝,不需要修改;3. 測試安裝是否成功。創建一個py文件,
發表于 02-13 10:45
?3509次閱讀
PyQt5的中文教程電子書免費下載
本教程的目的是帶領你入門PyQt5。教程內所有代碼都在Linux上測試通過。PyQt4 教程是PyQt4的教程,PyQt4是一個Pytho
發表于 08-06 08:00
?19次下載
用PyQt5做圖形界面(一)Hello world
PyQt是Python版本的Qt庫,是最常用的跨平臺圖形界面編程框架之一。代碼不用修改,就能同時運行在windows、linux、ios、andriod等平臺。因此,對芯片設計行業來說,既可以
PyQT5中的QPainter類支持與圖元支持實現圖形繪制
圖形與圖像繪制支持是一個GUI框架庫的核心模塊之一,從Java的Graphics2D到Android的Canvas類支持到PyQT5中的QPainter類支持與圖元支持,都很好的滿足了
如何用PyQt5做圖形界面(二)
今天介紹文本相關的三個組件:QLabel、QLineEdit、QTextEdit。
三者的區別是:QLabel一般用來顯示提示性的文本或者說明,用戶不可以直接修改內容。QLineEdit用來收集用戶輸入(單行文本,不能換行)。而QTextEdit用來收集用戶輸入的一
Python上位機軟件圖形界面實戰——PyQt
文章目錄 引言 1 環境配置 2 新建一個軟件窗口 3 QtDesigner的配置 4 配置pyuic 總結
今天開始用python實戰利用qt5開發軟件圖形界面,今天只是寫一個簡單
發表于 05-29 16:55
?0次下載
使用pycharm開發上位機配置pyqt5的環境
在上位機的開發過程中,使用QT的圖形化界面,是開發上位機最好最簡單的選擇,因此我將講述配置pyqt5的環境。
軟件安裝: 安裝:pycharm的社區2021.02版 QT(安裝參考https
發表于 05-29 16:12
?0次下載
基于PyQT5與ONNXRUNTIME實現風格遷移應用
2023年一月份跟二月份創建了一個PyQT5人工智能軟件開發系列的文章系列,過去的兩個月都沒怎么更新,心里一直想有時間繼續更新下去,今天又更新了一
如何用PyQt5做圖形界面(一)
評論