weighteditor.py 文件源码

python
阅读 24 收藏 0 点赞 0 评论 0

项目:freecad-nurbs 作者: microelly2 项目源码 文件源码
def dialog(sk=None):

    if sk==None:
        [sk]=Gui.Selection.getSelection()
    if 1:

        w=QtGui.QWidget()
        w.sk=sk
        w.texts=[]

        tc=sk.ViewObject.LineColor
        color=colors.rgb2hex(sk.ViewObject.LineColor)    
        invers=(1.0-tc[0],1.0-tc[1],1.0-tc[2])
        icolor=colors.rgb2hex(invers) 
        mcolor='#808080'   
        w.setStyleSheet("QWidget { background-color:"+color+"}\
            QPushButton { margin-right:0px;margin-left:0px;margin:0 px;padding:0px;;\
            background-color:#ccc;text-align:left;;padding:6px;padding-left:4px;color:#333; }")

        box = QtGui.QVBoxLayout()
        w.setLayout(box)
        w.setWindowFlags(QtCore.Qt.WindowStaysOnTopHint)

        l=QtGui.QLabel(sk.Label)
        l.setText( '<font color='+icolor+'>'+sk.Label+'</font>' ) 
        box.addWidget(l)

        w.box=[]
        for i,c in enumerate(sk.Constraints):
            print (c.Name,c.Value)
            if c.Name.startswith("Weight"):
                l=QtGui.QLabel(c.Name)
                l.setText( '<font color='+icolor+'>'+c.Name+'</font>' ) 
                box.addWidget(l)

                d=QtGui.QSlider(QtCore.Qt.Horizontal)
                d.c=c
                d.i=i

                box.addWidget(d)
                d.setValue(c.Value-1)
                d.setMaximum(100)
                d.setMinimum(0)
                d.valueChanged.connect(lambda:wrun(w))
                w.box.append(d)

        w.r=QtGui.QPushButton("close")
        box.addWidget(w.r)
        w.r.pressed.connect(lambda :runex(w))
        wrun(w)
        w.show()

    return w
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号