회원 로그인
정보기억 정보기억에 체크할 경우 다음접속시 아이디와 패스워드를 입력하지 않으셔도 됩니다.
그러나, 개인PC가 아닐 경우 타인이 로그인할 수 있습니다.
PC를 여러사람이 사용하는 공공장소에서는 체크하지 마세요.
소셜네트워크 서비스를 통해서 로그인하시면 별도의 로그인 절차없이 회원서비스를 이용하실 수 있습니다.


최근 게시물

1.노션에서 작성 중

1.노션에서 작성 중

개편하기 전까지 노션에서 작성 중

2024.04.04//read more

2.ChatGPT

2.ChatGPT

OpenAI로 대규모 언어 모델대화형...

2023.03.16//read more

3.노코딩 게임 엔진 - 빌..

3.노코딩 게임 엔진 - 빌..

빌드 지원안드로이드iOS윈도우즈특이사...

2023.03.14//read more

4.(완료) 미접속 회원 정..

4.(완료) 미접속 회원 정..

[완료] 36명의 회원을 정리하였습니...

2023.02.16//read more

5.매뉴얼 플러스 - 전자제..



안정적인 DNS 서비스 DNSEver
DNS Powered by DNSEver.com


pyuic5 사용 for Maya

푸딩뱃살 | 2018.02.21 12:28 | 조회 3363
pyuic5 사용 for Maya
:Qt Designer로 만든 .ui 파일을 .py 파일로 변환한다.

 마야2017 (Update4) 기준으로 작성되었다.

  • 이슈
    • Python 2.7.x를 사용
    • PyQt5를 사용 (보통 Python 3.x와 함께 사용된다.)
    • PyQt5의 충돌 문제가 있을 수 있으므로 마야에 맞게(PySide2) 변환된 py 스크립트 수정하기를 요망된다.
  • 준비
    1. C:\Program Files\Autodesk\Maya2017\Python 폴더의 pyuic5.bat 파일을 적당한 곳에 복사한다.
    2. pyuic5.bat 파일을 메모장으로 연다
    3. 절대 경로로 수정한다
      원본
      @m:\bin\mayapy.exe -m PyQt5.uic.pyuic %1 %2 %3 %4 %5 %6 %7 %8 %9
      수정
      C:\Progra~1\Autodesk\Maya2017\bin\mayapy.exe -m PyQt5.uic.pyuic %1 %2 %3 %4 %5 %6 %7 %8 %9
      또는 (bat에 드래그하여 변환할 경우)
      C:\Progra~1\Autodesk\Maya2017\bin\mayapy.exe -m PyQt5.uic.pyuic -x %1 -o %1
  • 변환
    1. ui파일을 bat파일이 있는 곳으로 넣는다.
    2. 명령 프롬프트를 실행한다.
      • 검색 cmd 실행 (관리자 실행은 cmd 입력 후 ctrl+shift 누른 상태에서 엔터)
      • 윈도우키+r키 cmd 실행
    3. 경로로 이동 후 변환한다.
      pyuic5.bat -x main_window.ui -o main_window.py


변환 예제
# -*- coding: utf-8 -*-

# Form implementation generated from reading ui file 'cleanInfluence.ui'
#
# Created by: PyQt5 UI code generator 5.8.2
#
# WARNING! All changes made in this file will be lost!

from PyQt5 import QtCore, QtGui, QtWidgets

class Ui_MainWindow(object):
    def setupUi(self, MainWindow):
        MainWindow.setObjectName("MainWindow")
        MainWindow.resize(309, 169)
        self.centralwidget0 = QtWidgets.QWidget(MainWindow)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.centralwidget0.sizePolicy().hasHeightForWidth())
        self.centralwidget0.setSizePolicy(sizePolicy)
        self.centralwidget0.setMinimumSize(QtCore.QSize(300, 128))
        self.centralwidget0.setBaseSize(QtCore.QSize(0, 0))
        self.centralwidget0.setObjectName("centralwidget0")
        self.gridLayout = QtWidgets.QGridLayout(self.centralwidget0)
        self.gridLayout.setContentsMargins(5, 5, 5, 5)
        self.gridLayout.setSpacing(6)
        self.gridLayout.setObjectName("gridLayout")
        self.horizontalLayout2 = QtWidgets.QHBoxLayout()
        self.horizontalLayout2.setObjectName("horizontalLayout2")
        self.pushButton1 = QtWidgets.QPushButton(self.centralwidget0)
        self.pushButton1.setObjectName("pushButton1")
        self.horizontalLayout2.addWidget(self.pushButton1)
        self.pushButton2 = QtWidgets.QPushButton(self.centralwidget0)
        self.pushButton2.setObjectName("pushButton2")
        self.horizontalLayout2.addWidget(self.pushButton2)
        self.pushButton3 = QtWidgets.QPushButton(self.centralwidget0)
        self.pushButton3.setObjectName("pushButton3")
        self.horizontalLayout2.addWidget(self.pushButton3)
        self.gridLayout.addLayout(self.horizontalLayout2, 2, 0, 1, 1)
        self.progressBar0 = QtWidgets.QProgressBar(self.centralwidget0)
        self.progressBar0.setProperty("value", 0)
        self.progressBar0.setObjectName("progressBar0")
        self.gridLayout.addWidget(self.progressBar0, 4, 0, 1, 1)
        self.horizontalLayout0 = QtWidgets.QHBoxLayout()
        self.horizontalLayout0.setSpacing(6)
        self.horizontalLayout0.setObjectName("horizontalLayout0")
        self.label0 = QtWidgets.QLabel(self.centralwidget0)
        self.label0.setObjectName("label0")
        self.horizontalLayout0.addWidget(self.label0)
        self.horizontalSlider = QtWidgets.QSlider(self.centralwidget0)
        self.horizontalSlider.setMinimum(1)
        self.horizontalSlider.setMaximum(10)
        self.horizontalSlider.setProperty("value", 4)
        self.horizontalSlider.setOrientation(QtCore.Qt.Horizontal)
        self.horizontalSlider.setObjectName("horizontalSlider")
        self.horizontalLayout0.addWidget(self.horizontalSlider)
        self.label1 = QtWidgets.QLabel(self.centralwidget0)
        self.label1.setObjectName("label1")
        self.horizontalLayout0.addWidget(self.label1)
        self.gridLayout.addLayout(self.horizontalLayout0, 0, 0, 1, 1)
        self.horizontalLayout1 = QtWidgets.QHBoxLayout()
        self.horizontalLayout1.setObjectName("horizontalLayout1")
        self.label3 = QtWidgets.QLabel(self.centralwidget0)
        self.label3.setObjectName("label3")
        self.horizontalLayout1.addWidget(self.label3)
        self.lineEdit = QtWidgets.QLineEdit(self.centralwidget0)
        self.lineEdit.setObjectName("lineEdit")
        self.horizontalLayout1.addWidget(self.lineEdit)
        self.pushButton0 = QtWidgets.QPushButton(self.centralwidget0)
        self.pushButton0.setObjectName("pushButton0")
        self.horizontalLayout1.addWidget(self.pushButton0)
        self.gridLayout.addLayout(self.horizontalLayout1, 1, 0, 1, 1)
        spacerItem = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
        self.gridLayout.addItem(spacerItem, 3, 0, 1, 1)
        MainWindow.setCentralWidget(self.centralwidget0)
        self.menubar0 = QtWidgets.QMenuBar(MainWindow)
        self.menubar0.setGeometry(QtCore.QRect(0, 0, 309, 21))
        self.menubar0.setObjectName("menubar0")
        self.menuEdit = QtWidgets.QMenu(self.menubar0)
        self.menuEdit.setObjectName("menuEdit")
        MainWindow.setMenuBar(self.menubar0)
        self.statusbar0 = QtWidgets.QStatusBar(MainWindow)
        self.statusbar0.setObjectName("statusbar0")
        MainWindow.setStatusBar(self.statusbar0)
        self.actionSave_Settings = QtWidgets.QAction(MainWindow)
        self.actionSave_Settings.setObjectName("actionSave_Settings")
        self.actionReset_Settings = QtWidgets.QAction(MainWindow)
        self.actionReset_Settings.setObjectName("actionReset_Settings")
        self.menuEdit.addAction(self.actionSave_Settings)
        self.menuEdit.addAction(self.actionReset_Settings)
        self.menubar0.addAction(self.menuEdit.menuAction())

        self.retranslateUi(MainWindow)
        QtCore.QMetaObject.connectSlotsByName(MainWindow)

    def retranslateUi(self, MainWindow):
        _translate = QtCore.QCoreApplication.translate
        MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow"))
        self.pushButton1.setText(_translate("MainWindow", "PushButton"))
        self.pushButton2.setText(_translate("MainWindow", "PushButton"))
        self.pushButton3.setText(_translate("MainWindow", "PushButton"))
        self.label0.setText(_translate("MainWindow", "TextLabel"))
        self.label1.setText(_translate("MainWindow", "TextLabel"))
        self.label3.setText(_translate("MainWindow", "TextLabel"))
        self.pushButton0.setText(_translate("MainWindow", "PushButton"))
        self.menuEdit.setTitle(_translate("MainWindow", "Edit"))
        self.actionSave_Settings.setText(_translate("MainWindow", "Save Settings"))
        self.actionReset_Settings.setText(_translate("MainWindow", "Reset Settings"))

if __name__ == "__main__":
    import sys
    app = QtWidgets.QApplication(sys.argv)
    MainWindow = QtWidgets.QMainWindow()
    ui = Ui_MainWindow()
    ui.setupUi(MainWindow)
    MainWindow.show()
    sys.exit(app.exec_())
임시 PySide2로 수정(하이라이트)
# -*- coding: utf-8 -*-

# Form implementation generated from reading ui file 'cleanInfluence.ui'
#
# Created by: PyQt5 UI code generator 5.8.2
#
# WARNING! All changes made in this file will be lost!

from PySide2 import QtCore, QtGui, QtWidgets

class Ui_MainWindow(object):
    def setupUi(self, MainWindow):
        MainWindow.setObjectName("MainWindow")
        MainWindow.resize(309, 169)
        self.centralwidget0 = QtWidgets.QWidget(MainWindow)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.centralwidget0.sizePolicy().hasHeightForWidth())
        self.centralwidget0.setSizePolicy(sizePolicy)
        self.centralwidget0.setMinimumSize(QtCore.QSize(300, 128))
        self.centralwidget0.setBaseSize(QtCore.QSize(0, 0))
        self.centralwidget0.setObjectName("centralwidget0")
        self.gridLayout = QtWidgets.QGridLayout(self.centralwidget0)
        self.gridLayout.setContentsMargins(5, 5, 5, 5)
        self.gridLayout.setSpacing(6)
        self.gridLayout.setObjectName("gridLayout")
        self.horizontalLayout2 = QtWidgets.QHBoxLayout()
        self.horizontalLayout2.setObjectName("horizontalLayout2")
        self.pushButton1 = QtWidgets.QPushButton(self.centralwidget0)
        self.pushButton1.setObjectName("pushButton1")
        self.horizontalLayout2.addWidget(self.pushButton1)
        self.pushButton2 = QtWidgets.QPushButton(self.centralwidget0)
        self.pushButton2.setObjectName("pushButton2")
        self.horizontalLayout2.addWidget(self.pushButton2)
        self.pushButton3 = QtWidgets.QPushButton(self.centralwidget0)
        self.pushButton3.setObjectName("pushButton3")
        self.horizontalLayout2.addWidget(self.pushButton3)
        self.gridLayout.addLayout(self.horizontalLayout2, 2, 0, 1, 1)
        self.progressBar0 = QtWidgets.QProgressBar(self.centralwidget0)
        self.progressBar0.setProperty("value", 0)
        self.progressBar0.setObjectName("progressBar0")
        self.gridLayout.addWidget(self.progressBar0, 4, 0, 1, 1)
        self.horizontalLayout0 = QtWidgets.QHBoxLayout()
        self.horizontalLayout0.setSpacing(6)
        self.horizontalLayout0.setObjectName("horizontalLayout0")
        self.label0 = QtWidgets.QLabel(self.centralwidget0)
        self.label0.setObjectName("label0")
        self.horizontalLayout0.addWidget(self.label0)
        self.horizontalSlider = QtWidgets.QSlider(self.centralwidget0)
        self.horizontalSlider.setMinimum(1)
        self.horizontalSlider.setMaximum(10)
        self.horizontalSlider.setProperty("value", 4)
        self.horizontalSlider.setOrientation(QtCore.Qt.Horizontal)
        self.horizontalSlider.setObjectName("horizontalSlider")
        self.horizontalLayout0.addWidget(self.horizontalSlider)
        self.label1 = QtWidgets.QLabel(self.centralwidget0)
        self.label1.setObjectName("label1")
        self.horizontalLayout0.addWidget(self.label1)
        self.gridLayout.addLayout(self.horizontalLayout0, 0, 0, 1, 1)
        self.horizontalLayout1 = QtWidgets.QHBoxLayout()
        self.horizontalLayout1.setObjectName("horizontalLayout1")
        self.label3 = QtWidgets.QLabel(self.centralwidget0)
        self.label3.setObjectName("label3")
        self.horizontalLayout1.addWidget(self.label3)
        self.lineEdit = QtWidgets.QLineEdit(self.centralwidget0)
        self.lineEdit.setObjectName("lineEdit")
        self.horizontalLayout1.addWidget(self.lineEdit)
        self.pushButton0 = QtWidgets.QPushButton(self.centralwidget0)
        self.pushButton0.setObjectName("pushButton0")
        self.horizontalLayout1.addWidget(self.pushButton0)
        self.gridLayout.addLayout(self.horizontalLayout1, 1, 0, 1, 1)
        spacerItem = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
        self.gridLayout.addItem(spacerItem, 3, 0, 1, 1)
        MainWindow.setCentralWidget(self.centralwidget0)
        self.menubar0 = QtWidgets.QMenuBar(MainWindow)
        self.menubar0.setGeometry(QtCore.QRect(0, 0, 309, 21))
        self.menubar0.setObjectName("menubar0")
        self.menuEdit = QtWidgets.QMenu(self.menubar0)
        self.menuEdit.setObjectName("menuEdit")
        MainWindow.setMenuBar(self.menubar0)
        self.statusbar0 = QtWidgets.QStatusBar(MainWindow)
        self.statusbar0.setObjectName("statusbar0")
        MainWindow.setStatusBar(self.statusbar0)
        self.actionSave_Settings = QtWidgets.QAction(MainWindow)
        self.actionSave_Settings.setObjectName("actionSave_Settings")
        self.actionReset_Settings = QtWidgets.QAction(MainWindow)
        self.actionReset_Settings.setObjectName("actionReset_Settings")
        self.menuEdit.addAction(self.actionSave_Settings)
        self.menuEdit.addAction(self.actionReset_Settings)
        self.menubar0.addAction(self.menuEdit.menuAction())

        self.retranslateUi(MainWindow)
        QtCore.QMetaObject.connectSlotsByName(MainWindow)

    def retranslateUi(self, MainWindow):
        _translate = QtCore.QCoreApplication.translate
        MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow"))
        self.pushButton1.setText(_translate("MainWindow", "PushButton"))
        self.pushButton2.setText(_translate("MainWindow", "PushButton"))
        self.pushButton3.setText(_translate("MainWindow", "PushButton"))
        self.label0.setText(_translate("MainWindow", "TextLabel"))
        self.label1.setText(_translate("MainWindow", "TextLabel"))
        self.label3.setText(_translate("MainWindow", "TextLabel"))
        self.pushButton0.setText(_translate("MainWindow", "PushButton"))
        self.menuEdit.setTitle(_translate("MainWindow", "Edit"))
        self.actionSave_Settings.setText(_translate("MainWindow", "Save Settings"))
        self.actionReset_Settings.setText(_translate("MainWindow", "Reset Settings"))


if __name__ == "__main__":
    import sys
    app = QtWidgets.QApplication.instance()
    MainWindow = QtWidgets.QMainWindow()
    ui = Ui_MainWindow()
    ui.setupUi(MainWindow)
    MainWindow.show()
    #sys.exit(app.exec_()) 종료 관련된 주석 처리
참고
285개(1/15페이지)
프로그래밍
번호 제목 글쓴이 조회 날짜
285 [Python] 동적 import - 모듈을 변수로 받아오기 푸딩뱃살 405 2022.10.27 10:45
284 [Python] 파이썬 3.7.7과 3.9.7의 os.path.expanduser() 차이 푸딩뱃살 440 2022.08.18 12:22
283 [Python] error: Microsoft Visual C++ 9.0 is required. 첨부파일 푸딩뱃살 659 2022.08.03 13:35
282 [Python] pyscript 첨부파일 푸딩뱃살 434 2022.06.09 11:21
281 [Python] float is / float not is 푸딩뱃살 581 2022.03.02 15:03
280 [Python] 이터널 문자열 f 푸딩뱃살 811 2022.01.27 16:35
279 [Python] is와 ==의 차이 푸딩뱃살 475 2021.11.25 15:54
278 [Python] Error: ImportError: file line 1: Ba 푸딩뱃살 891 2021.11.16 11:24
277 [Python] 파이썬 디컴파일 - uncompyle6 첨부파일 푸딩뱃살 750 2021.11.10 14:46
276 [Python] 파이썬 확장자 설명 푸딩뱃살 537 2021.11.03 14:38
275 [참고] 웹 fbx 뷰어 푸딩뱃살 456 2021.10.19 15:46
274 [Python] enumerate() 푸딩뱃살 487 2021.10.13 14:44
273 [Python] 아나콘다에서 가상 환경 첨부파일 푸딩뱃살 695 2020.11.21 00:26
272 [Python] pip로 설치 때 퍼미션 에러 사진 첨부파일 푸딩뱃살 1247 2020.06.06 17:13
271 [Python] OpenCV 10-3. 이미지 Thresholding - Otsu's Binarizatio 사진 푸딩뱃살 657 2020.06.05 14:01
270 [Python] OpenCV 10-2. 이미지 Thresholding - Adaptive Threshold 사진 푸딩뱃살 678 2020.06.05 13:58
269 [Python] OpenCV 10-1. 이미지 Thresholding 사진 푸딩뱃살 569 2020.06.05 13:56
268 [Python] OpenCV 9-2. 색 추적 푸딩뱃살 743 2020.06.02 23:29
267 [Python] OpenCV 9-1. 색공간 바꾸기 푸딩뱃살 630 2020.06.02 23:27
266 [Python] OpenCV 8-3. 이미지 비트 연산 사진 푸딩뱃살 512 2020.06.02 23:21