why QSlider disappear after dragging in maya while it's fine if ran outside maya ?

15 views
Skip to first unread message

oglop

unread,
Jan 20, 2013, 9:14:08 PM1/20/13
to python_in...@googlegroups.com, 6637...@qq.com
hi all, why QSlider disappear as soon as i drag it ? it's running fine in console.

from PyQt4 import QtGui, QtCore
from PyQt4.QtCore import *
from PyQt4.QtGui import *
import sys

# ================================
my_array = [['00', '01', '02'],
['10', '11', '12'],
['20', '21', '22']]
# ================================
class MyWindow(QWidget):
def __init__(self, parent=None, *args):
QWidget.__init__(self, *args)

tablemodel = MyTableModel(my_array, self)
tableview = QTableView()
tableview.setModel(tablemodel)

tableDelegate = ShipDelegate(self)

tableview.setItemDelegate(tableDelegate)

layout = QVBoxLayout(self)
layout.addWidget(tableview)
self.setLayout(layout)

# ================================
class MyTableModel(QAbstractTableModel):
def __init__(self, datain, parent=None, *args):
QAbstractTableModel.__init__(self, parent, *args)
self.arraydata = datain
def rowCount(self, parent):
return len(self.arraydata)
def columnCount(self, parent):
return len(self.arraydata[0])
def data(self, index, role):
if not index.isValid():
return None
elif role != Qt.DisplayRole:
return None
return (self.arraydata[index.row()][index.column()])
def flags(self, index):
return Qt.ItemFlags(
QAbstractTableModel.flags(self, index) |
Qt.ItemIsEditable)

class ShipDelegate(QItemDelegate):
def __init__(self, parent=None):
super(ShipDelegate, self).__init__(parent)

def createEditor(self, parent, option, index):
ctrl = QSlider(parent)
ctrl.setOrientation(Qt.Horizontal)
return ctrl


#app = QApplication(sys.argv)
w = MyWindow()
w.show()
#app.exec_()

sliderTest.py
Reply all
Reply to author
Forward
0 new messages