我正在Mac桌面上执行Qt。我有一个QTableView。在第一列之前的标题中似乎有一个额外的列分隔符。查看屏幕截图。
您可以在“名称”之前看到我的意思。好像在第0列之前有一个0宽度的列。我猜这是为了允许行标题,而我没有。那只是一个猜测。
是否有可能摆脱这种情况?我不知道我是在做某件事导致这种情况,还是不做某件事来抑制它,或者我无能为力。
我已经包含了headerData()方法。
/**
* Return header.
*/
QVariant
SetupDevicesModel::headerData(int section, Qt::Orientation orientation, int role) const {
QVariant retVal;
if (role == Qt::DisplayRole && orientation == Qt::Horizontal) {
switch (section) {
case 0: retVal = QString("Name"); break;
case 1: retVal = QString("Phone Number"); break;
case 2: retVal = QString("IP Host"); break;
case 3: retVal = QString("IP Port"); break;
case 4: retVal = QString("Video Stream"); break;
}
}
return retVal;
}
答案 0 :(得分:0)
我认为这是具有垂直标题的结果。垂直标题可以完全用QTableView::verticalHeader()->hide();
QTableView
的左上角实际上是一个按钮,可用于选择表中的所有单元格。可以使用QTableView::setCornerButtonEnabled(false)
禁用该按钮,但这不会隐藏该按钮或更改外观。
应用程序的样式也有影响。例如,使用“融合”样式,您可能看不到多余的行。应该可以使用自定义样式或绘画来隐藏该行,但是如果您仍然不需要垂直标题,则删除该行的最简单方法是隐藏标题。