首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >更改QHeaderView数据

更改QHeaderView数据
EN

Stack Overflow用户
提问于 2014-11-03 17:31:06
回答 2查看 4.3K关注 0票数 0

我试图修改我的QHeaderView (水平的)在我的QTableWidget中的文本。

第一个问题:是否可以像QTableWidgetItem一样设置它?

第二个问题:如果不可能,我怎么能做到呢,我试着把它重新画成这样:

代码语言:javascript
复制
void EditableHeaderView::paintSection(QPainter *painter, const QRect &rect, int logicalIndex) const
{
    painter->save();
    QHeaderView::paintSection(painter, rect, logicalIndex);
    painter->restore();

    painter->setPen(Qt::SolidLine);
    painter->drawText(rect, Qt::AlignCenter, m_sValues[logicalIndex]);
}

但是标题索引是绘制在我的文本后面的。

我尝试过的另一个解决方案是:

代码语言:javascript
复制
void EditableHeaderView::mySectionDoubleClicked( int section )
{
    if (section != -1) // Not on a section
        m_sValues[section] = QInputDialog::getText(this, tr("Enter a value"), tr("Enter a value"), QLineEdit::Normal, "");

    QAbstractItemModel* model = this->model();
    model->setHeaderData(section, this->orientation(), m_sValues[section]);
    this->setModel(model);
}

但这行不通..。

我希望有人能找到解决办法。

谢谢!

EN

回答 2

Stack Overflow用户

发布于 2014-11-03 17:52:29

它可以不需要子类,也不需要绘制您的部分来设置文本,用setHeaderData来完成。例如,下一段代码工作时没有错误。

代码语言:javascript
复制
//somewhere in constructor for example
connect(ui->tableWidget->horizontalHeader(),&QHeaderView::sectionDoubleClicked,[=]( int logicalIndex) {//with lambda
    qDebug() << "works";
    QString txt =  QInputDialog::getText(this, tr("Enter a value"), tr("Enter a value"), QLineEdit::Normal, "");
    ui->tableWidget->model()->setHeaderData(logicalIndex,Qt::Horizontal,txt);
});

在此之前:

之后:

我在这里使用了C++11 (CONFIG += c++11 to .pro文件)和信号和插槽的新语法,但是如果需要,当然可以使用旧语法。

票数 4
EN

Stack Overflow用户

发布于 2014-11-04 13:32:07

我不知道为什么您的解决方案不起作用,但我找到了一个非常简单的解决方法:

代码语言:javascript
复制
QString res =  QInputDialog::getText(this, tr("Enter a value"), tr("Enter a value"), QLineEdit::Normal, "");
setHorizontalHeaderItem(logicalIndex, new QTableWidgetItem(res));

谢谢你的帮助!

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26719640

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档