A: 

The easiest solution is setHorizontalHeaderLabels(myListOfHeaderLabels).

Lukáš Lalinský
This doesn't actually help me much because QTableWidget contains a QAbstractItemModel*, not a QStandardItemModel*. A call to model() cannot be casted to a QStandardItemModel* or a segfault results when dereferencing. If I try to use QTableWidget->setModel(), I can't compile because setModel() is private.
San Jacinto
I actually meant to link to `QTableWidget::setHorizontalHeaderLabels`. Same method name, same functionality.
Lukáš Lalinský
+1  A: 

I see one potential problem, and also an easier way to do this.

First, the problem:

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.

I think you want to do this instead:

QString* qq = new QString("Last");
m_ui->teamTableWidget->horizontalHeader()->model()->setHeaderData(0, 
    Qt::Horizontal, QVariant(QVariant::String, *qq));

Now, the easier way to set the data for a header item:

m_ui->teamTableWidget->horizontalHeaderItem( 0 )->setText( "Last" );
Caleb Huitt - cjhuitt
Thanks. Please see my edit in the question to see how I solved it. Your help got me there. Thanks again.
San Jacinto
+1  A: 

At the request of the person who steered me toward the right place, I am posting the way I accomplished this as an answer and I am accepting it.

    m_ui->teamTableWidget->setColumnCount(m_ui->teamTableWidget->columnCount()+1);
    QTableWidgetItem* qtwi = new QTableWidgetItem(QString("Last"),QTableWidgetItem::Type);
    m_ui->teamTableWidget->setHorizontalHeaderItem(0,qtwi);
San Jacinto