PyQt4-PySide - Formatting a table widget
Question: In the following code, I would like to use thicker rule separator between the
column 2 and 3 for example. How can I achieve this ?

    
    
    #! /usr/bin/env python2.7
    # -*- coding: utf-8 -*-
    
    import sys
    
    from PySide import QtCore, QtGui
    
    class MainWindow(QtGui.QWidget):
        def __init__(
            self,
            parent = None
        ):
            super(MainWindow, self).__init__(parent)
    
    # General grid
            self.table = QtGui.QTableWidget(self)
            self.nbrow, self.nbcol = 9, 9
            self.table.setRowCount(self.nbrow)
            self.table.setColumnCount(self.nbcol)
    
    # Each cell has dimension 50 pixels x 50 pixels
            for row in range(0, self.nbrow):
                self.table.setRowHeight(row, 50)
    
                for col in range(0, self.nbcol):
                    self.table.setColumnWidth(col, 50)
    
    # Each cell contains one single QTableWidgetItem
            for row in range(0, self.nbrow):
                for col in range(0, self.nbcol):
                    item = QtGui.QTableWidgetItem()
                    item.setTextAlignment(
                        QtCore.Qt.AlignHCenter | QtCore.Qt.AlignVCenter
                    )
    
                    self.table.setItem(row, col, item)
    
    # Header formatting
            font = QtGui.QFont()
            font.setFamily(u"DejaVu Sans")
            font.setPointSize(12)
            self.table.horizontalHeader().setFont(font)
            self.table.verticalHeader().setFont(font)
    
    # Font used
            font = QtGui.QFont()
            font.setFamily(u"DejaVu Sans")
            font.setPointSize(20)
            self.table.setFont(font)
    
    # Global Size
            self.resize(60*9, 60*9 + 20)
    
    # Layout of the table
            layout = QtGui.QGridLayout()
            layout.addWidget(self.table, 0, 0)
            self.setLayout(layout)
    
    # Set the focus in the first cell
            self.table.setFocus()
            self.table.setCurrentCell(0, 0)
    
    
    if __name__ == "__main__":
        app = QtGui.QApplication(sys.argv)
        fen = MainWindow()
        fen.show()
        sys.exit(app.exec_())
    


Answer: You can use stylesheets to change the style of the cell borders. See examples:

  * <http://www.qtcentre.org/threads/27195-Border-around-selected-cell-in-qtablewidget>
  * [Set QTableWidget cell's borders to 0px](http://stackoverflow.com/questions/7341007/set-qtablewidget-cells-borders-to-0px)

