1

Maya2017 に同梱されている PySide2 のバージョンではwinId、QWindow クラスのメソッドが欠落しているようです。

w.winId()
Error: AttributeError: file <maya console> line 1: 'PySide2.QtGui.QWindow' object has no attribute 'winId' # 

QWindow の既存のインスタンスからこの値を取得する方法はありますか?

4

2 に答える 2

0

Maya 2018 for macOS 10.11.6 を使用しました。このコードを試してください。できます。

from maya import OpenMayaUI as omui 

try:
  from PySide2.QtCore import * 
  from PySide2.QtGui import * 
  from PySide2.QtWidgets import *
  from PySide2 import __version__
  from shiboken2 import wrapInstance 
except ImportError:
  from PySide.QtCore import * 
  from PySide.QtGui import * 
  from PySide import __version__
  from shiboken import wrapInstance 

mayaMainWindowPtr = omui.MQtUtil.mainWindow() 
mayaMainWindow= wrapInstance(long(mayaMainWindowPtr), QWidget) 

w = QLabel("Hello, Window", parent=mayaMainWindow) 
w.setObjectName('Label1') 
w.setWindowFlags(Qt.Window)
w.show() 

そして、入力した後:

w.winId()

次のようなものが得られます。

# Result: 140640756092816 #

ここに画像の説明を入力

于 2017-09-19T05:08:51.783 に答える