def __init__(self, appState):
     QTableWidget.__init__(self)
     self.appState = appState
     self.appState.registerComponent(self)
     
     self.headerObj = CustomHeader(Qt.Horizontal, self)
     self.setHorizontalHeader(self.headerObj)
     
     self.setEditTriggers(QTableWidget.NoEditTriggers)
     self.setSelectionMode(QTableWidget.NoSelection)
     self.setSelectionBehavior(QTableWidget.SelectRows)
     self.setSortingEnabled(True)
     self.setMouseTracking(True)
     self.viewport().setMouseTracking(True)
     
     self.numColumns = 0
     self.idLookup = {}
     
     # Load data
     self.setColumnCount(len(self.appState.headers))
     self.setRowCount(len(self.appState.ped.rowOrder))
     self.setHorizontalHeaderLabels(self.appState.headers)
     for r,p in enumerate(self.appState.ped.rowOrder):
         idItem = PythonTableWidgetItem(p)
         self.setItem(r,0,idItem)
         self.idLookup[p] = idItem
         for c,a in enumerate(self.appState.ped.extraNodeAttributes):
             self.setItem(r,c+1,PythonTableWidgetItem(self.appState.ped.getAttribute(p,a,None)))
예제 #2
0
    def __init__(self):
        QTableWidget.__init__(self, 3, 3)
        #self.verticalHeader().setVisible(False)

        #myHeader = MyHeader(Qt.Horizontal, self)
        #self.setHorizontalHeader(myHeader)
        myHeader = MyHeader(Qt.Vertical, self)
        self.setVerticalHeader(myHeader)
        #self.verticalHeader().setVisible(False)
        print self.verticalHeaderItem(1)
예제 #3
0
 def __init__(self, cellSize=(200, 200), name='', parent=None):
     # the table gets it's name as the spider name
     QTableWidget.__init__(self, parent)
     ProducerMixin.__init__(self, type=ProducerMixin.TYPE_TABLE, name=name)
     self._cell_size = cellSize
     self._configured = False
     self._images_in_items = False
     self._orig_headers = []
     self._headers = []
     self._visible_rows = "all"  # a list of ints. "all" means no searches done yet
     self._items = []
     self._active = False
 def __init__(self, cellSize=(200, 200), name='', parent=None):
   # the table gets it's name as the spider name
   QTableWidget.__init__(self, parent)
   ProducerMixin.__init__(self, type=ProducerMixin.TYPE_TABLE, name=name)
   self._cell_size = cellSize
   self._configured = False
   self._images_in_items = False
   self._orig_headers = []
   self._headers = []
   self._visible_rows = "all" # a list of ints. "all" means no searches done yet
   self._items = []
   self._active = False
    def __init__(self, data_list, header_rows=0, roundit=None, cmap=None, click_handler=None, resize_columns=True, stretch_last=False, header_text=None, row_height=0, sort_column=0, sort_order=QtCore.Qt.AscendingOrder):
        self._data_list = data_list
        self._nrows = len(self._data_list)
        self._ncols = len(self._data_list[0])
        QTableWidget.__init__(self, self._nrows, self._ncols)
        self.setWordWrap(True) # I think it is already true by default
        if header_rows > 0:
            self.setHorizontalHeaderLabels(self._data_list[0])
            self._data_list = self._data_list[1:]
            self._nrows -= 1

        for r in range(self._nrows):
            for c in range(self._ncols):
                data_item = self._data_list[r][c]
                qtype = self.get_qtype(data_item)
                if (roundit != None) and (qtype == QFLOAT):  # @UndefinedVariable
                    data_item = round(data_item, roundit)
                if (r < header_rows - 1):
                    data_item = "_" + str(data_item) # do this so the header rows are sorted to the top
                # newItem = QTableWidgetItem(str(data_item))
                newItem = QTableWidgetItem(type=qtype)
                if type(data_item) == str:
                    newItem.setText(data_item)
                else:
                    newItem.setData(QtCore.Qt.DisplayRole, data_item)
                if r < header_rows - 1:
                    newItem.setFont(QFont("Helvetica", 12, QFont.Bold))
                else:
                    newItem.setFont(QFont("Helvetica", 12))
                    if (cmap != None) and (type(data_item) == float) and (r >= header_rows):
                        the_color = cmap.rgb_color_from_val(data_item)
                        newBrush = QBrush()
                        newBrush.setColor(QColor(the_color[0], the_color[1], the_color[2]))
                        newBrush.setStyle(QtCore.Qt.SolidPattern)
                        newItem.setBackground(newBrush)
                self.setItem(r, c, newItem)
        if resize_columns:
            self.resizeColumnsToContents()
        self.resizeRowsToContents()
        self.sortItems(0, order=QtCore.Qt.AscendingOrder)
        self.setSortingEnabled(True)
        if row_height != 0:
            vh = self.verticalHeader()
            vh.setDefaultSectionSize(row_height)
        if click_handler != None:
            self._click_handler = click_handler
            self.itemClicked.connect(self.item_click_action)
        if stretch_last:
            hh = self.horizontalHeader()
            hh.setStretchLastSection(True)
        self.roundit = roundit
        self.header_rows = header_rows
예제 #6
0
파일: snippet.py 프로젝트: szabo92/gistable
 def __init__(self, *args):
     QTableWidget.__init__(self, *args)
     self.thread = VideoThread(self)
     self.thread.dataReady.connect(self.update, Qt.QueuedConnection)
     self.init()