import os import math from ldmt_function.ldmt_loadUIFile import get_maya_window, load_ui_file import maya.OpenMayaUI as omui from ldmt_core import ldmt_cmds as ld from functools import partial import maya.cmds as cmds import maya.mel as mel try: from Qt.QtCore import * from Qt.QtGui import * from Qt.QtWidgets import * from Qt import __version__ from Qt.QtCompat import loadUi, wrapInstance except ImportError: from Qt.QtCore import * from Qt.QtGui import * from Qt.QtUiTools import * from Qt import __version__ from Qt.QtCompat import loadUi, wrapInstance import maya.OpenMaya as om import maya.api.OpenMaya as om2 import random import ast LDMTPATH = ld.getPath('LDMT') ldmt_uifile = LDMTPATH + '/ldmt_ui/ldmt_cleanMesh.ui' ldmt_window_name = 'ldmt_cleanMesh' ldmt_button_name = 'btn_'+ldmt_window_name.split('_')[1] ''' #UI ''' class ldmt_cls(QDialog): def __init__(self, parent = get_maya_window()): super(ldmt_cls, self).__init__(parent) self.window_name = ldmt_window_name self.setWindowTitle(ldmt_window_name) self.setWindowFlags(Qt.Window) self.move(QCursor.pos() + QPoint(20,20)) # update status bar so it's not only show in help line window. self.set_ui() self.setupBtn() # self.statusbar.showMessage(ld.tag()) # self.installStartBar() def set_ui(self): main_layout = QVBoxLayout(self) self.ui = load_ui_file(ldmt_uifile) if self.ui is None: cmds.warning("UI file not found: {}".format(ldmt_uifile)) return main_layout.addWidget(self.ui) def setupBtn(self): self.ui.btn_select.clicked.connect(self.select) self.ui.btn_cleanup.clicked.connect(self.cleanup) def select(self): mel.eval('polyCleanupArgList 4 { "0","2","1","0","1","1","1","0","1","1e-005","1","1e-005","1","1e-005","0","1","1","0" };') def cleanup(self): mel.eval('polyCleanupArgList 4 { "0","1","1","0","1","1","1","0","1","1e-005","1","1e-005","1","1e-005","0","1","1","0" };') def installStartBar(self): allQWidgets = self.findChildren(QWidget) for i in allQWidgets: i.installEventFilter(self) def eventFilter(self, obj, event ): '''Connect signals on mouse over''' if event.type() == QEvent.Enter: self.oldMessage = ld.tag() self.statusbar.showMessage(' '+obj.statusTip(),0) elif event.type() == QEvent.Leave: self.statusbar.showMessage(' '+self.oldMessage, 0) pass event.accept() return False # def closeEvent(self,event): # ld.turnToolBtnOff(self,ldmt_button_name) # cmds.deleteUI(ldmt_window_name) def ldmt_show(): if cmds.window(ldmt_window_name, exists=True): cmds.deleteUI(ldmt_window_name) app = QApplication.instance() dialog = ldmt_cls(parent=app.activeWindow()) dialog.show() app.exec_() if __name__ == '__main__': ldmt_show()