try:
from shiboken
import wrapInstance
import pysideuic
as uic
from PySide
.QtGui
import *
from PySide
.QtCore
import *
except:
from shiboken2
import wrapInstance
import pyside2uic
as uic
from PySide2
.QtGui
import *
from PySide2
.QtWidgets
import *
from PySide2
.QtCore
import *
from PySide2
import QtCore
try:
from maya
import OpenMayaUI
import maya
.mel
as mel
import maya
.cmds
as mc
except IOError
:
pass
def loadUiType(ui_file
):
"""加载 ui 文件"""
from cStringIO
import StringIO
import xml
.etree
.ElementTree
as xml
parsed
= xml
.parse
(ui_file
)
widget_class
= parsed
.find
('widget').get
('class')
form_class
= parsed
.find
('class').text
with open(ui_file
, 'r') as f
:
pyFileString
= StringIO
()
frame
= {}
uic
.compileUi
(f
, pyFileString
, indent
=0)
pyc
= compile(pyFileString
.getvalue
(), '<string>', 'exec')
exec pyc
in frame
form_class
= frame
['Ui_%s' % form_class
]
print form_class
base_class
= eval(widget_class
)
return base_class
, form_class
def getMayaWindow():
"""获取maya主界面窗口名称"""
window
= OpenMayaUI
.MQtUtil
.mainWindow
()
return wrapInstance
(long(window
), QWidget
)
uiTestFile
= "D:/_____Ruben_____/untitled.ui"
base_class
, form_class
= loadUiType
(uiTestFile
)
class CreateUI(base_class
, form_class
):
def __init__(self
, parent
=getMayaWindow
()):
super(CreateUI
, self
).__init__
(parent
=parent
)
self
.setupUi
(self
)
self
.signal_slot
()
self
.show
()
def signal_slot(self
):
"""信号 槽"""
Qcon
= QObject
.connect
Qcon
(self
.btn1
, SIGNAL
("clicked()"), self
.btn1_func
)
def btn1_func(self
, *args
, **kwargs
):
"""信号链接方法 1 """
print 11
self
.close
()
@Slot
(bool)
def on_btn2_clicked(self
, *args
, **kwargs
):
"""信号链接方法 2 """
print 22
if __name__
== '__main__':
win
= CreateUI
()
转载请注明原文地址: https://mac.8miu.com/read-494128.html