使用 PySide6 擴充
JEditor 基於 PySide6(Qt for Python)打造,您可以透過自訂的 Qt 元件 新增分頁或停靠面板來擴充編輯器。
新增自訂分頁
使用 EDITOR_EXTEND_TAB 字典將自訂元件註冊為編輯器中的新分頁。
鍵值為分頁名稱,值為元件類別(非實例)。
範例:
from PySide6.QtWidgets import QWidget, QGridLayout, QLineEdit, QPushButton, QLabel
from je_editor import start_editor, EDITOR_EXTEND_TAB
class TestUI(QWidget):
"""一個簡單的自訂元件,包含文字輸入欄和提交按鈕。"""
def __init__(self):
super().__init__()
self.grid_layout = QGridLayout(self)
self.grid_layout.setContentsMargins(0, 0, 0, 0)
self.label = QLabel("")
self.line_edit = QLineEdit()
self.submit_button = QPushButton("Submit")
self.submit_button.clicked.connect(self.show_input_text)
self.grid_layout.addWidget(self.label, 0, 0)
self.grid_layout.addWidget(self.line_edit, 1, 0)
self.grid_layout.addWidget(self.submit_button, 2, 0)
def show_input_text(self):
self.label.setText(self.line_edit.text())
# 註冊自訂分頁:{"分頁名稱": 元件類別}
EDITOR_EXTEND_TAB.update({"test": TestUI})
# 啟動帶有自訂分頁的編輯器
start_editor()
執行此腳本後,JEditor 將在預設分頁旁邊新增一個 “test” ���頁。
運作原理
EDITOR_EXTEND_TAB是一個將分頁名稱對應到元件類別的字典JEditor 在建構 UI 時會建立每個已註冊元件類別的實例
元件會作為新分頁加入到分頁列
您的元件可完整使用 PySide6/Qt 的功能
提示
您的元件類別必須繼承自 ``QWidget``(或其子類別)
使用佈局(
QGridLayout、QVBoxLayout等)實現響應式設計您可以透過公開 API 存取 JEditor 的內部元件
可以多次呼叫
update()或傳入包含多個項目的字典來註冊多個自訂分頁
使用 JEditor 元件
您也可以在自己的 PySide6 應用程式中使用 JEditor 的個別元件:
from je_editor import EditorWidget, MainBrowserWidget, FullEditorWidget
EditorWidget— 獨立的程式碼編輯器元件FullEditorWidget— 完整的編輯器,包含行號和輸出面板MainBrowserWidget— 獨立的網頁瀏覽器元件
這些元件可以加入任何 PySide6 佈局,方便將程式碼編輯或瀏覽功能 整合到您自己的應用程式中。