San*_*nto 3 c++ qt qtgui qtablewidget qheaderview
我还在学习Qt,我非常感谢SO社区为我提供了很好的,非常及时的Qt问题答案.谢谢.
我对在标题中添加标题的想法感到很困惑QTableWidget.我想做的是有一个包含团队成员信息的表.每个row成员都应该包含他的名字和姓氏,每个名字都在自己的单元格中,一个单元格中有一个电子邮件地址,另一个单元格中有办公室.我将header在这些列上方添加适当的名称.
我试图轻松开始,只需要标题显示"Last"(如姓氏).这是我的代码.
int column = m_ui->teamTableWidget->columnCount();
m_ui->teamTableWidget->setColumnCount(column+1);
QString* qq = new QString("Last");
m_ui->teamTableWidget->horizontalHeader()->model()->setHeaderData(0,
Qt::Horizontal, QVariant(QVariant::String, &qq));
Run Code Online (Sandbox Code Playgroud)
我的表被正确呈现,但标题不包含我期望的内容.它包含1个包含文本"1"的单元格.
我显然在做一些非常愚蠢的事情,这是错误的,但我迷失了.我一直在倾注文件,一无所获.
感谢您的帮助.
我看到一个潜在的问题,也是一种更简单的方法.
一,问题:
QString* qq = new QString("Last"); // <- qq is a pointer to a string.
m_ui->teamTableWidget->horizontalHeader()->model()->setHeaderData(0,
Qt::Horizontal,
QVariant(QVariant::String, &qq)); // <- You take the address of a pointer, or create a handle.
Run Code Online (Sandbox Code Playgroud)
我想你想这样做:
QString* qq = new QString("Last");
m_ui->teamTableWidget->horizontalHeader()->model()->setHeaderData(0,
Qt::Horizontal, QVariant(QVariant::String, *qq));
Run Code Online (Sandbox Code Playgroud)
现在,更简单的方法是为标题项设置数据:
m_ui->teamTableWidget->horizontalHeaderItem( 0 )->setText( "Last" );
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
18666 次 |
| 最近记录: |