Adobe公式にサブスタンス3Dデザイナーのpythonでウィンドウを作成するコードがありましたが、ボタンが一つあるだけで押しても何も反応しない内容だったので、自作の関数を入れることができる仕組みを追加してみました。
広告
ウィンドウサンプル作成
サンプル内容
スクリプトを実行して表示されるウィンドウにボタンが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

【Substance Designer】pythonコードメモサブスタンスデザイナーのpython情報はとても少なく、ちょっとした事でも残しておけば組み合わせでやりたい事にたどり着ける可能性もあるの...
スポンサーリンク
リンク
広告