I am building a simple data display application, to show several columns from a 
table. They appear fine, but I can't get the columns to fit the data correctly. 
All the columns appear the same width.
I did not see much by searching for this. I've tried several different options. 
None seem to make any difference. How should one do this? PyQt and PySide2 have 
the same results
Using QtDesigner
QtDesigner 5.13.0
Python 3.7.4
PyQt5              5.13.0
PyQt5-sip          4.19.18
PyQt5Designer      5.10.1
PySide2            5.13.1

I'm restricted in what I can post without obfuscating information, I hope the 
snippets will help.

Snippet from uic converted .ui

        self.tableViewArch = QtWidgets.QTableView(self.centralwidget)
        self.tableViewArch.setGeometry(QtCore.QRect(20, 70, 771, 471))
        
self.tableViewArch.setSizeAdjustPolicy(QtWidgets.QAbstractScrollArea.AdjustToContents)
        
self.tableViewArch.setEditTriggers(QtWidgets.QAbstractItemView.NoEditTriggers)
        self.tableViewArch.setTabKeyNavigation(False)
        self.tableViewArch.setProperty("showDropIndicator", False)
        self.tableViewArch.setDragDropOverwriteMode(False)
        self.tableViewArch.setSortingEnabled(True)
        self.tableViewArch.setObjectName("tableViewArch")

Class method loading the QTableView

    def loadTableViewArch(self):
        archlist,archcol = 
self.dbh.get_arch_for_mnm(self.comboBoxAppMnm.currentText())
        cols = [col[0] for col in archcol]
        curmodel = self.tableViewArch.model()
        model = QStandardItemModel()
        model.setHorizontalHeaderLabels(cols)
        self.tableViewArch.setModel(model)
        self.tableViewArch.resizeColumnsToContents()
        collen = [0] * len(cols)
        for row in archlist:
            items = []
            for cix, col in enumerate(row):
                if collen[cix] < len(col.strip()):
                    collen[cix] = len(col.strip())
                citem = QStandardItem(col) #.setText(col)
                Qs = QtCore.QSize()
                Qs.setWidth(len(col.strip()))
                Qs.setWidth(100)
                citem.setSizeHint(Qs)
                items.append(citem)
            model.appendRow(items)
        for cix,clen in enumerate(collen):
            self.tableViewArch.setColumnWidth(cix,100)
        del curmodel




Thanks,
Ed Lipson
Director
BNY Mellon | 2 Hanson Pl AIM 111-0800 | Brooklyn NY 11217
Information Lifecycle Management
T 718.315.4763 |  F 724.540.6622 | C 917.859.5180 | 
ed.lip...@bnymellon.com<mailto:ed.lip...@bnymellon.com>


The information contained in this e-mail, and any attachment, is confidential 
and is intended solely for the use of the intended recipient. Access, copying 
or re-use of the e-mail or any attachment, or any information contained 
therein, by any other person is not authorized. If you are not the intended 
recipient please return the e-mail to the sender and delete it from your 
computer. Although we attempt to sweep e-mail and attachments for viruses, we 
do not guarantee that either are virus-free and accept no liability for any 
damage sustained as a result of viruses. 

Please refer to https://disclaimer.bnymellon.com/eu.htm for certain disclosures 
relating to European legal entities. We take our data protection and privacy 
responsibilities seriously and our privacy notice explains how we collect, use 
and share personal information in the course of our business activities. It can 
be accessed at the privacy section of  www.bnymellon.com.
_______________________________________________
PySide mailing list
PySide@qt-project.org
https://lists.qt-project.org/listinfo/pyside

Reply via email to