小编Kup*_*nu4的帖子

Autodesk Maya模型面板调整大小事件

我正在为Maya编写一个简单的工具菜单,我想将它粘贴到模型面板的边框(透视图).

from PySide import QtCore, QtGui
from maya import OpenMayaUI as omui
from shiboken import wrapInstance

class TestWidget(QtGui.QWidget):
    def __init__(self, parent=None):
        QtGui.QWidget.__init__(self, parent = self.getMayaWindow())

        self.setWindowFlags(QtCore.Qt.Tool | QtCore.Qt.FramelessWindowHint)
        self.setFixedSize(100, 100)

        panelPtr = omui.MQtUtil.findControl('modelPanel4')
        panel = wrapInstance(long(panelPtr), QtGui.QWidget) 

        position =  panel.mapToGlobal(panel.pos())
        self.move(position.x(), position.y() + panel.geometry().height() / 2 - self.geometry().height() / 2)

        mainLayout = QtGui.QVBoxLayout(self)

        button = QtGui.QPushButton('CLOSE')
        button.setFixedSize(80, 80)
        button.clicked.connect(self.deleteLater)

        mainLayout.addWidget(button)

    def getMayaWindow(self):
        omui.MQtUtil.mainWindow()    
        ptr = omui.MQtUtil.mainWindow()
        return wrapInstance(long(ptr), QtGui.QWidget)

w = TestWidget()
w.show()
Run Code Online (Sandbox Code Playgroud)

主窗口小部件在创建时正好位于我想要的位置(水平位于模型面板的左侧,垂直位于模型面板的中间).

我需要在调整模型面板大小时重新定位它,但模型面板不会发出resized()信号.我很感激任何建议.

qt resize pyqt maya pyside

5
推荐指数
1
解决办法
909
查看次数

如何使用 PySide 中的样式表为整个小部件设置背景颜色

我正在尝试设置小部件的背景颜色,但它仅适用于小部件的孩子。下面的代码是真实应用程序结构的简单表示。我希望 testWidget 完全是红色的,由于它的大小,它是 100x100 像素的矩形,但由于某种原因,只有按钮是红色的。

from PySide import QtGui


class Widget(QtGui.QWidget):
def __init__(self):
    QtGui.QWidget.__init__(self)

    mainLayout = QtGui.QVBoxLayout(self)

    testWidget = QtGui.QWidget()
    testWidget.setFixedSize(100,100)

    testWidget.setStyleSheet('background-color: red;')
    testLayout = QtGui.QVBoxLayout()

    testWidget.setLayout(testLayout)


    but = QtGui.QPushButton('TEST')
    but.setFixedSize(20,20)
    testLayout.addWidget(but)

    mainLayout.addWidget(testWidget)

w = Widget()
w.show()
Run Code Online (Sandbox Code Playgroud)

css qt stylesheet background-color pyside

3
推荐指数
1
解决办法
4735
查看次数

标签 统计

pyside ×2

qt ×2

background-color ×1

css ×1

maya ×1

pyqt ×1

resize ×1

stylesheet ×1