Skip to content

[PySide] 下載安裝

PySide 是 Python 的一個製作圖形化介面(GUI)的套件,不過大家比較有印象的應該都是 PyQt 以及 Tkinter。

我曾使用過 PyQt5 一段時間,並留下了相關的紀錄文章:[PyQt5] 基本教學(1) 安裝 PyQt5,印出 Hello World! ,有興趣的朋友們也可以去那邊看看。

其實,PySide 跟 PyQt 是系出同門,源頭全都是 Qt。之所以會有兩個版本,自然是發生了許多事情,這中間那些簡直可以去演連續劇的愛恨情仇,在此就不多贅述了。

簡單來講,PySide 可商用、PyQt 若要商用則需購買授權。

另外 PySide 和 PyQt 的程式碼相容性極高;毫不誇張地說,你甚至可以拿其中一邊的程式碼去另外一邊順利執行。

本文所使用的 PySide 版本為 PySide6,對應的是 Qt6。在我記述本篇筆記的當下(2021-08-09),可說是最新的 Python 製作圖形化介面的套件也不為過。

順帶一提目前它只支援 Python3.6+ 且不支援 Python3.10。

本篇文章主要紀錄如何下載、安裝 PySide6,並簡單寫一段程式碼確認其可順利執行。


下載安裝

首先,我會建議環境要乾淨地切割開來,不要在原生環境下直接安裝套件。不過建議只是建議,或許你有著自己的理由,那就跳過建立虛擬環境這一步。

(Optional)建立虛擬環境

mkdir pyside6_demo
cd pyside6_demo
python3 -m venv venv
source venv/bin/activate


pip 安裝

pip3 install pyside6

範例程式碼

安裝完畢後,我們當然會想知道安裝好的 PySide6 套件是否能正常運行,對吧?

每次學一個新的程式語言,就要印出一次 Hello World。使用一個新的圖形化介面套件也是同樣的道理。

# coding: utf-8
import sys
from PySide6.QtWidgets import QApplication, QLabel, QWidget


class MainWindow(QWidget):
    def __init__(self):
        # Window
        super(MainWindow, self).__init__()
        self.resize(200, 150)
        self.setWindowTitle("PySide6 Demo")

        # QLabel
        self.label = QLabel(self)
        self.label.setGeometry(65, 65, 100, 10)
        self.label.setText("Hello World!")


if __name__ == "__main__":
    app = QApplication([])
    window = MainWindow()
    window.show()
    sys.exit(app.exec_())



Output:

在我的環境中,PySide6 可以正常運行,太棒了!

非常有趣的是,程式碼我是直接從我舊的 PyQt5 專案複製過來的,只把 PyQt5 的模組名稱改成了 PySide6。


References


Read More

Leave a Reply