繁体   English   中英

如何将字体粗体设置为表格小部件中的特定行

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM