[英]How to set font Bold to a particular row in table widget
我想在tablewidget的特定行列位置中将字体设置为粗体。 我确实喜欢这样,但是要休息一下。
QFont font("Helvetica", 12, QFont::Bold);
overviewTable->item(2,2)->setFont(font);
请帮忙
我认为一切都很好。 这是什么文档说:
void QTableWidgetItem::setFont ( const QFont & font )
将用于显示项目文本的字体设置为给定字体。
也许您的概述 Table const?
添加:
这个变体对我的Qt 4.6很好用:
tableWidget = new QTableWidget(12, 3, this);
for (int i = 0; i < 12; i++) {
for (int j = 0; j < 3; j++) {
QTableWidgetItem *newItem = new QTableWidgetItem(tr("%1").arg(
(i+1)*(j+1)));
tableWidget->setItem(i, j, newItem);
}
}
QFont font;
font.setBold(true);
tableWidget->item(2, 2)->setFont(font);
也许您正在休息,因为您没有在使用overviewTable->item(2,2)
之前调用setItem()
为单元格overviewTable->item(2,2)
。 正如Qt文件所述,
QTableWidgetItem * QTableWidget :: item(int row,int column)const
返回给定行和列的项目(如果已设置); 否则返回0。
也就是说,您的overviewTable->item(2,2)
可能返回0,从而在setFont()
调用中导致Segmentation fault
。
因此,设置字体的方法是完全正确的。 您只需要像mosg的答案所建议的那样首先调用setItem()。
添加:
如果您的overviewTable
是在Qt Designer中创建的QTableWidget
,则在Designer中双击单元格(只需进入其编辑模式,无需实际输入任何内容)将对该单元setItem()
。 在稍后的代码中,您可以直接使用item()
函数,而不setItem()
调用setItem()
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.