如何在QtreeWidget中显示表格线像QTableWidget一样的有表格线
------解决思路----------------------
QTreeWidget每一个格子用一个QLabel代替,设置QLabel格式有Frame。
QTreeWidgetItem *itemParent;
QTreeWidgetItem *itemSon;
QLabel *label;
for (int i = 0; i < 10; i++)
{
itemParent = new QTreeWidgetItem();
m_tree->addTopLevelItem(itemParent);
label = new QLabel(QString::number(i + 1));
label->setFrameShape(QFrame::Box);
m_tree->setItemWidget(itemParent, 0, label);
label = new QLabel(QString("Parent %1").arg(i + 1));
label->setFrameShape(QFrame::Box);
m_tree->setItemWidget(itemParent, 1, label);
for (int j = 0; j < 2; j++)
{
itemSon = new QTreeWidgetItem(itemParent);
m_tree->addTopLevelItem(itemSon);
label = new QLabel(QString::number(j + 1));
label->setFrameShape(QFrame::Box);
m_tree->setItemWidget(itemSon, 0, label);
label = new QLabel(QString("Son %1").arg(j + 1));
label->setFrameShape(QFrame::Box);
m_tree->setItemWidget(itemSon, 1, label);
}
}
------解决思路----------------------
还有用Qt Style Sheet
setStyleSheet("QTreeWidget::item{border-right: 1px solid red;border-bottom: 1px solid red;}");