Python

【Substance3DDesigner】Pythonでウィンドウ作成

shamimatsu

Adobe公式にサブスタンス3Dデザイナーのpythonでウィンドウを作成するコードがありましたが、ボタンが一つあるだけで押しても何も反応しない内容だったので、自作の関数を入れることができる仕組みを追加してみました。

使用バージョン:Substance3DDesiner2023

classは理解が難しく勉強中のため作法として正しくない箇所があるかもしれません

ウィンドウサンプル作成

サンプル内容

スクリプトを実行して表示されるウィンドウにボタンが2つあり、ボタンを押すとコンソールに文字列がプリントされます。
コード内の以下の関数内の書き換えれば別の処理を組み込むことができます。

def on_button1_clicked(self):
def on_button2_clicked(self):

コード

import sd
import sys
from PySide2.QtWidgets import *


class MainWindow(QWidget):
    def __init__(self):
        super().__init__()
        app = sd.getContext().getSDApplication()
        uiMgr = app.getQtForPythonUIMgr()

        mainWindow = uiMgr.getMainWindow()
        dialog = QDialog(parent=mainWindow)
        dialog.setWindowTitle("window sample")
        dialog.resize(300, 200)

        button1 = QPushButton("Button 1")
        button2 = QPushButton("Button 2")

        layout = QVBoxLayout()
        layout.addWidget(button1)
        layout.addWidget(button2)
        button1.clicked.connect(self.on_button1_clicked)
        button2.clicked.connect(self.on_button2_clicked)     

        dialog.setLayout(layout)

        dialog.show()

    def on_button1_clicked(self):
        print("Button 1 clicked.")

    def on_button2_clicked(self):
        print("Button 2 clicked.")

Window = MainWindow()

参考サイト

アドビ公式:Creating user interface elements

スポンサーリンク

ABOUT ME
shamimatsu
shamimatsu
3DCGデザイナー
ながらくゲーム業界で2D、3DCGデザイナーとして働いてきましたが、新しい業界に挑戦中です。 ブログのデザインをリニューアル中のため、見づらい箇所もあるかもしれませんが少しづつ修正していきます。
記事URLをコピーしました