Nathan Osman
Nathan Osman

Reputation: 73165

How to keep header from being selected when there is one item in a QTableWidget?

I can't seem to keep the horizontal header from being selected when I select a single row in a QTableWidget.

Example:

alt text

How can I prevent the header from being selected too? This only happens when one row is in the table. If it has more than two rows, then it works as expected and only the row itself is selected.


Note: I have set

ui->tableWidget->setSelectionBehavior(QAbstractItemView::SelectRows);

so that the entire row is selected when the user clicks a cell.

Upvotes: 7

Views: 4008

Answers (3)

K13
K13

Reputation: 39

In addition to the answer of @theerapong-thongprom you can also use:

 ui->tableWidget->horizontalHeader()->setSectionsClickable(false); 

So, the sections would also have no animation while clicking on them.

Upvotes: 0

Theerapong Thongprom
Theerapong Thongprom

Reputation: 81

Maybe method setHighlightSections() can help:

ui->tableWidget->horizontalHeader()->setHighlightSections(false); 

Upvotes: 6

Arnold Spence
Arnold Spence

Reputation: 22272

I created a test and observed the same behavior and I'm not sure what the intended behavior is. I was able to prevent it by setting horizontalHeaderHighlightSections to false but I'm not sure if that is an optimal solution.

Upvotes: 6

Related Questions