QTableWidget setColumnWidth didn't work
-
wrote on 8 Jan 2020, 09:44 last edited by
ui->table_widget->setColumnCount(4); ui->table_widget->setColumnWidth(0, 134); ui->table_widget->setColumnWidth(1, 134); ui->table_widget->setColumnWidth(2, 60); //ui->table_widget->setColumnWidth(3, 134); ui->table_widget->horizontalHeader()->setStretchLastSection(true); ui->table_widget->horizontalHeader()->setVisible(false); //ui->table_widget->horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch); ui->table_widget->verticalHeader()->setHidden(true); ui->table_widget->setEditTriggers(QAbstractItemView::NoEditTriggers); ui->table_widget->setSelectionMode(QAbstractItemView::SingleSelection); ui->table_widget->setSelectionBehavior(QAbstractItemView::SelectRows);
-
wrote on 8 Jan 2020, 09:51 last edited by
What does
ui->table_widget->horizontalHeader()->sectionResizeMode();
returns? it should beFixed
for you to be able to set the column width manually -
What does
ui->table_widget->horizontalHeader()->sectionResizeMode();
returns? it should beFixed
for you to be able to set the column width manuallywrote on 8 Jan 2020, 10:00 last edited by@VRonin
ui->table_widget->setColumnCount(4);
ui->table_widget->setColumnWidth(0, 134);
ui->table_widget->setColumnWidth(1, 210);
ui->table_widget->setColumnWidth(2, 60);
ui->table_widget->setColumnWidth(3, 134);
//ui->table_widget->horizontalHeader()->setStretchLastSection(true);
ui->table_widget->horizontalHeader()->setVisible(false);
ui->table_widget->horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch);
ui->table_widget->verticalHeader()->setHidden(true);
ui->table_widget->setEditTriggers(QAbstractItemView::NoEditTriggers);
ui->table_widget->setSelectionMode(QAbstractItemView::SingleSelection);
ui->table_widget->setSelectionBehavior(QAbstractItemView::SelectRows); -
wrote on 8 Jan 2020, 10:04 last edited by
ui->table_widget->horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch);
overwrites all the previous calls toui->table_widget->setColumnWidth()
.
You should callui->table_widget->horizontalHeader()->setSectionResizeMode(QHeaderView::Fixed);
before callingsetColumnWidth()
-
ui->table_widget->horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch);
overwrites all the previous calls toui->table_widget->setColumnWidth()
.
You should callui->table_widget->horizontalHeader()->setSectionResizeMode(QHeaderView::Fixed);
before callingsetColumnWidth()
wrote on 8 Jan 2020, 10:17 last edited by@VRonin
ui->table_widget->horizontalHeader()->setSectionResizeMode(QHeaderView::Fixed);
ui->table_widget->setColumnCount(4); //缩写 内容 位置 操作
ui->table_widget->setColumnWidth(0, 134);
ui->table_widget->setColumnWidth(1, 210);
ui->table_widget->setColumnWidth(2, 60);
ui->table_widget->setColumnWidth(3, 134);
//ui->table_widget->horizontalHeader()->setStretchLastSection(true);my aim is to let the four columns be full of the row and display as the ratio I set。
How could I achieve ui->table_widget->horizontalHeader()->setSectionResizeMode(QHeaderView::Fixed);
ui->table_widget->setColumnCount(4); //缩写 内容 位置 操作
ui->table_widget->setColumnWidth(0, 134);
ui->table_widget->setColumnWidth(1, 210);
ui->table_widget->setColumnWidth(2, 60);
ui->table_widget->setColumnWidth(3, 134);
//ui->table_widget->horizontalHeader()->setStretchLastSection(true);my aim is to let the four columns be full of the row and display as the ratio I set。
How could I achieve it -
wrote on 8 Jan 2020, 10:47 last edited by
//1 ui->tableWidget->setEditTriggers(QAbstractItemView::NoEditTriggers); ui->tableWidget->setAlternatingRowColors(true); ui->tableWidget->setSelectionMode(QAbstractItemView::SingleSelection); ui->tableWidget->setSelectionBehavior(QAbstractItemView::SelectItems); // ui->tableWidget->setSelectionBehavior(QAbstractItemView::SelectRows); ui->tableWidget->setShowGrid(false); ui->tableWidget->verticalHeader()->setVisible(false); ui->tableWidget->horizontalHeader()->setStretchLastSection(true); //2 ui->tableWidget->clear(); ui->tableWidget->setRowCount(0); ui->tableWidget->setColumnCount(4); ui->tableWidget->setColumnWidth(0, 134); ui->tableWidget->setColumnWidth(1, 210); ui->tableWidget->setColumnWidth(2, 60); ui->tableWidget->setColumnWidth(3, 134); //3 ui->tableWidget->setHorizontalHeaderLabels(QStringList() << "1" << "2" << "3" << "4"); //4 ui->tableWidget->setRowCount(1); ui->tableWidget->setItem(0, 1, new QTableWidgetItem("A")); ui->tableWidget->setItem(0, 2, new QTableWidgetItem("B")); ui->tableWidget->setItem(0, 3, new QTableWidgetItem("C")); ui->tableWidget->setItem(0, 4, new QTableWidgetItem("D"));
-
//1 ui->tableWidget->setEditTriggers(QAbstractItemView::NoEditTriggers); ui->tableWidget->setAlternatingRowColors(true); ui->tableWidget->setSelectionMode(QAbstractItemView::SingleSelection); ui->tableWidget->setSelectionBehavior(QAbstractItemView::SelectItems); // ui->tableWidget->setSelectionBehavior(QAbstractItemView::SelectRows); ui->tableWidget->setShowGrid(false); ui->tableWidget->verticalHeader()->setVisible(false); ui->tableWidget->horizontalHeader()->setStretchLastSection(true); //2 ui->tableWidget->clear(); ui->tableWidget->setRowCount(0); ui->tableWidget->setColumnCount(4); ui->tableWidget->setColumnWidth(0, 134); ui->tableWidget->setColumnWidth(1, 210); ui->tableWidget->setColumnWidth(2, 60); ui->tableWidget->setColumnWidth(3, 134); //3 ui->tableWidget->setHorizontalHeaderLabels(QStringList() << "1" << "2" << "3" << "4"); //4 ui->tableWidget->setRowCount(1); ui->tableWidget->setItem(0, 1, new QTableWidgetItem("A")); ui->tableWidget->setItem(0, 2, new QTableWidgetItem("B")); ui->tableWidget->setItem(0, 3, new QTableWidgetItem("C")); ui->tableWidget->setItem(0, 4, new QTableWidgetItem("D"));
wrote on 8 Jan 2020, 11:24 last edited by@A-A-SEZEN said in QTableWidget setColumnWidth didn't work:
erticalHeader(
Hi,
Thanks for your answer.
I just do like what you said, but it still doesn't work.ui->tableWidget->setAlternatingRowColors(true);
ui->tableWidget->setShowGrid(false);And I think those code didn't effect the result. so I didn't add it.
Should I wrot them all? -
@A-A-SEZEN said in QTableWidget setColumnWidth didn't work:
erticalHeader(
Hi,
Thanks for your answer.
I just do like what you said, but it still doesn't work.ui->tableWidget->setAlternatingRowColors(true);
ui->tableWidget->setShowGrid(false);And I think those code didn't effect the result. so I didn't add it.
Should I wrot them all?wrote on 8 Jan 2020, 12:15 last edited by Pl45m4 1 Aug 2020, 12:19Try
ui->tableWidget->horizontalHeader()->setResizeMode(QHeaderView::ResizeMode::ResizeToContents);
But then you are not able to resize the width manually. It automatically resizes to its content.
"aaaaaa....." should be "aaaaaaaaaaaaaaaaaaaaaaaaaaa" then.
(I dont know if can work with this or if you need to resize manually or programmatically) -
Try
ui->tableWidget->horizontalHeader()->setResizeMode(QHeaderView::ResizeMode::ResizeToContents);
But then you are not able to resize the width manually. It automatically resizes to its content.
"aaaaaa....." should be "aaaaaaaaaaaaaaaaaaaaaaaaaaa" then.
(I dont know if can work with this or if you need to resize manually or programmatically)wrote on 8 Jan 2020, 12:34 last edited by@Pl45m4 said in QTableWidget setColumnWidth didn't work:
manually
Thank you.
I tried
ui->tableWidget->horizontalHeader()->setResizeMode(QHeaderView::ResizeMode::ResizeToContents);
It didnt work.
I'll try (I dont know if can work with this or if you need to resize manually or programmatically) -
wrote on 8 Jan 2020, 12:57 last edited by
ui->table_widget->resizeColumnToContents(1);
I found this in my code. I was so stupid.
After I removed it, It works.
Thank you all very much And sorry about my mistake. -
@A-A-SEZEN said in QTableWidget setColumnWidth didn't work:
erticalHeader(
Hi,
Thanks for your answer.
I just do like what you said, but it still doesn't work.ui->tableWidget->setAlternatingRowColors(true);
ui->tableWidget->setShowGrid(false);And I think those code didn't effect the result. so I didn't add it.
Should I wrot them all?wrote on 9 Jan 2020, 07:21 last edited by@chris_rookie
Hi,
I answered your question before I fully understood it.
I always add elements to help others, if possible.
I wanted to have a message with QTableWidget that I shared the data demonstration with side features.
1/11