QTableView如何设置行高?
Posted
技术标签:
【中文标题】QTableView如何设置行高?【英文标题】:How to set row height of QTableView? 【发布时间】:2013-10-10 19:32:44 【问题描述】:我有QTableView
和QAbstractTableModel
。我要求行的高度等于 24。我知道这样做的唯一方法是调用 QTableView::setRowHeight
。由于模型是动态的,它可能会添加新行,但我不想每次添加新行时都调用setRowHeight
。
如何配置 QTableView
使其对新添加的行使用相同的高度,或者可以向模型发送行的高度?
【问题讨论】:
【参考方案1】:对于 Qt 版本
QHeaderView *verticalHeader = myTableView->verticalHeader();
verticalHeader->setResizeMode(QHeaderView::Fixed);
verticalHeader->setDefaultSectionSize(24);
对于 Qt 版本 >= 5 使用
QHeaderView *verticalHeader = myTableView->verticalHeader();
verticalHeader->setSectionResizeMode(QHeaderView::Fixed);
verticalHeader->setDefaultSectionSize(24);
如果该功能不适用于垂直标题,您可能必须在每次添加新行时调用 setRowHeight()
。
【讨论】:
我认为最好给与函数名称不同的指针命名,否则您可能会遇到名称冲突,例如如果你从 QTableView 构造函数 QHeaderView *vh = myTableView->verticalHeader(); 如果verticalHeader
已经在作用域内,那么直接调用setResizeMode
和setDefaultSectionSize
就可以了,不用担心变量遮蔽,也不需要复制本地指针。跨度>
QHeaderView
限制了传递给setDefaultSectionSize
的值,因此您可能需要在设置默认大小之前调用setMinimumSectionSize
和setMaximumSectionSize
。以上是关于QTableView如何设置行高?的主要内容,如果未能解决你的问题,请参考以下文章