示例#1
0
class STATCHART(QWidget):
  def __init__(self):
    #super(QWidget, self).__init__()
    QWidget.__init__(self)
    self.setupModel()
    self.setupViews()

                   
  def setupModel(self):
    self.model = QtGui.QStandardItemModel(8, 2, self)
    self.model.setHeaderData(0, QtCore.Qt.Horizontal, QtCore.QVariant("Label"))
    self.model.setHeaderData(1, QtCore.Qt.Horizontal, QtCore.QVariant("Quantity"))


  def setupViews(self):
    self.vbox = QtGui.QVBoxLayout()
    self.setLayout(self.vbox)
    splitter = QtGui.QSplitter()
    table = QtGui.QTableView()
    self.pieChart = PieView()
    splitter.addWidget(table)
    splitter.addWidget(self.pieChart)
    splitter.setStretchFactor(0, 0)
    splitter.setStretchFactor(1, 1)
    
    table.setModel(self.model)
    self.pieChart.setModel(self.model)
    
    self.selectionModel = QtGui.QItemSelectionModel(self.model)
    table.setSelectionModel(self.selectionModel)
    self.pieChart.setSelectionModel(self.selectionModel)
    
    table.horizontalHeader().setStretchLastSection(True)
    self.vbox.addWidget(splitter)


  def decode(self, typestat):
    self.model.removeRows(0, self.model.rowCount(QtCore.QModelIndex()),
                          QtCore.QModelIndex())

    row = 0
    i = 0
    for mtype, count in typestat.iteritems():
      color = random.randint(0, 0xffffffff)
      self.model.insertRows(row, 1, QtCore.QModelIndex())

      self.model.setData(self.model.index(row, 0, QtCore.QModelIndex()),
                         QtCore.QVariant(mtype))
      self.model.setData(self.model.index(row, 1, QtCore.QModelIndex()),
                         QtCore.QVariant(float(count)))
      self.model.setData(self.model.index(row, 0, QtCore.QModelIndex()),
                         QtCore.QVariant(QtGui.QColor(color)),
                         QtCore.Qt.DecorationRole)
      row += 1
示例#2
0
文件: fileschart.py 项目: vertrex/DFF
class STATCHART(QWidget):
    def __init__(self):
        #super(QWidget, self).__init__()
        QWidget.__init__(self)
        self.setupModel()
        self.setupViews()

    def setupModel(self):
        self.model = QtGui.QStandardItemModel(8, 2, self)
        self.model.setHeaderData(0, QtCore.Qt.Horizontal,
                                 QtCore.QVariant("Label"))
        self.model.setHeaderData(1, QtCore.Qt.Horizontal,
                                 QtCore.QVariant("Quantity"))

    def setupViews(self):
        self.vbox = QtGui.QVBoxLayout()
        self.setLayout(self.vbox)
        splitter = QtGui.QSplitter()
        table = QtGui.QTableView()
        self.pieChart = PieView()
        splitter.addWidget(table)
        splitter.addWidget(self.pieChart)
        splitter.setStretchFactor(0, 0)
        splitter.setStretchFactor(1, 1)

        table.setModel(self.model)
        self.pieChart.setModel(self.model)

        self.selectionModel = QtGui.QItemSelectionModel(self.model)
        table.setSelectionModel(self.selectionModel)
        self.pieChart.setSelectionModel(self.selectionModel)

        table.horizontalHeader().setStretchLastSection(True)
        self.vbox.addWidget(splitter)

    def decode(self, typestat):
        self.model.removeRows(0, self.model.rowCount(QtCore.QModelIndex()),
                              QtCore.QModelIndex())

        row = 0
        i = 0
        for mtype, count in typestat.iteritems():
            color = random.randint(0, 0xffffffff)
            self.model.insertRows(row, 1, QtCore.QModelIndex())

            self.model.setData(self.model.index(row, 0, QtCore.QModelIndex()),
                               QtCore.QVariant(mtype))
            self.model.setData(self.model.index(row, 1, QtCore.QModelIndex()),
                               QtCore.QVariant(float(count)))
            self.model.setData(self.model.index(row, 0, QtCore.QModelIndex()),
                               QtCore.QVariant(QtGui.QColor(color)),
                               QtCore.Qt.DecorationRole)
            row += 1
示例#3
0
文件: fileschart.py 项目: vertrex/DFF
    def setupViews(self):
        self.vbox = QtGui.QVBoxLayout()
        self.setLayout(self.vbox)
        splitter = QtGui.QSplitter()
        table = QtGui.QTableView()
        self.pieChart = PieView()
        splitter.addWidget(table)
        splitter.addWidget(self.pieChart)
        splitter.setStretchFactor(0, 0)
        splitter.setStretchFactor(1, 1)

        table.setModel(self.model)
        self.pieChart.setModel(self.model)

        self.selectionModel = QtGui.QItemSelectionModel(self.model)
        table.setSelectionModel(self.selectionModel)
        self.pieChart.setSelectionModel(self.selectionModel)

        table.horizontalHeader().setStretchLastSection(True)
        self.vbox.addWidget(splitter)
示例#4
0
 def setupViews(self):
   self.vbox = QtGui.QVBoxLayout()
   self.setLayout(self.vbox)
   splitter = QtGui.QSplitter()
   table = QtGui.QTableView()
   self.pieChart = PieView()
   splitter.addWidget(table)
   splitter.addWidget(self.pieChart)
   splitter.setStretchFactor(0, 0)
   splitter.setStretchFactor(1, 1)
   
   table.setModel(self.model)
   self.pieChart.setModel(self.model)
   
   self.selectionModel = QtGui.QItemSelectionModel(self.model)
   table.setSelectionModel(self.selectionModel)
   self.pieChart.setSelectionModel(self.selectionModel)
   
   table.horizontalHeader().setStretchLastSection(True)
   self.vbox.addWidget(splitter)