[Solved] QTableWidget columns with different width
-
wrote on 23 Feb 2011, 07:00 last edited by
Hello there,
Anyone has some piece of code to understand how to define a QTableWidget object where every column has a different width?
I tried resizeColumnToContents( int ) and setColumnWidth ( int, int ) with no luck :(Thanks!
-
wrote on 23 Feb 2011, 07:14 last edited by
But, that is basically wat you need to do to get different column widths. Could you show the relevant code with your attempt please?
-
wrote on 23 Feb 2011, 07:25 last edited by
Hi! In my case, every column will contain data with a very specific size. Any clue?
This is my code, but is not working at all:@
StepsViewer::StepsViewer(QWidget *parent) : QTableWidget(parent)
{
setColumnCount(3);
setColumnWidth(0, 80);
setColumnWidth(1, 40);
setColumnWidth(2, 20);
setHorizontalHeaderLabels(QStringList() << tr("Interval") << tr("Frames") << tr("Add"));
...
}@Edit (Andre): fixed code formatting. Please do that yourself next time...
-
wrote on 23 Feb 2011, 07:32 last edited by
OK, so you are inheriting QTableWidget.
Could you try what happens if you set the column widths after you set the data? At first sight, the above should work, but I believe you if you say it doesnt. -
wrote on 23 Feb 2011, 21:21 last edited by
I found the problem! All my fault :S
In some place from another class I was doing this:
@
k->stepViewer = new StepsViewer;
k->stepViewer->verticalHeader()->hide();
k->stepViewer->horizontalHeader()->setResizeMode(QHeaderView::Stretch); // <- Aaaargh! :S
@Shame on me! setColumnWidth(int, int) really works!
My apologies :( -
Hello there,
Anyone has some piece of code to understand how to define a QTableWidget object where every column has a different width?
I tried resizeColumnToContents( int ) and setColumnWidth ( int, int ) with no luck :(Thanks!
wrote on 7 May 2021, 19:24 last edited by@xtingray here is for making the column widths fit into the qtable widget.
QTableWidget-name.horizontalHeader().setSectionResizeMode(QHeaderView.Stretch)
Remember to import QHeaderView from PyQt5.Qtwidgets.
Your QTablewidget-name should be replaced by the name you used for it in your code