I'm using Qt4 to create a table, using the QTableWidget class. I get something like this:
Problem is: I want to hide the row labels (i.e. the numbers). I just care about columns. I want to get this:
How can I accomplish this?
-
I was wondering about the same thing. However, I was too lazy to find a solution till you asked. (Thanks!!). Anyway, here is the code that worked for me:
table = QtGui.QTableWidget() table.verticalHeader().setVisible(False)These are actually QTableView's methods. Since you use a QTableWidget which is a child of QTableView, everything works out.
I am not sure whether this is the best way to do this, but the QHeaderView documentation recommends this method. To quote the PyQt4 docs-
Appearance
QTableWidget and QTableView create default headers. If you want the headers to be visible, you can use setVisible().
Note: Each header renders the data for each section itself, and does not rely on a delegate. As a result, calling a header's setItemDelegate() function will have no effect.happy_emi : Thanks, it works! I'm lazy, too. I gave up when I wasn't able to find a property in the qt-Designer which allowed me to do that.Krsna : As of Qt Designer 4.5 (I believe), you can set both the vertical and horizontal header properties right in the property editor. -
You can also put your data in a QTableView object and hide the vertical row header with a hide() function. Here is the sample code,
QTableView *empview = new QTableView(); empview->verticalHeader()->hide();
0 comments:
Post a Comment