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_()

-- 
You received this message because you are subscribed to the Google Groups 
"Python Programming for Autodesk Maya" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].


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_()

Reply via email to