【问题标题】:QTableWidget headers not displayingQTableWidget 标题不显示
【发布时间】:2014-07-16 17:37:04
【问题描述】:

我使用 UI 编辑器创建了一个 QTableWidget。

MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
    ui->setupUi(this);
    populateFilesTable();
    connect(ui->browseButton, SIGNAL(clicked()), this, SLOT(selectDirectory()));
    connect(ui->searchButton, SIGNAL(clicked()), this, SLOT(findFiles()));
}

这显示了 UI 是如何设置的,然后我调用了函数 populateFilesTable()

函数如下:

void MainWindow::populateFilesTable()
{
    ui->filesTable->setSelectionBehavior(QAbstractItemView::SelectRows);

    QStringList labels;
    labels << tr("Filename") << tr("Size");
    ui->filesTable->setHorizontalHeaderLabels(labels);
    ui->filesTable->horizontalHeader()->setResizeMode(0, QHeaderView::Stretch);
    ui->filesTable->verticalHeader()->hide();
    ui->filesTable->setShowGrid(true);
}

表头没有显示在表格上,有什么想法吗? 谢谢。

【问题讨论】:

    标签: qt qtablewidget


    【解决方案1】:

    怎么了?

    横向表头需要QTableWidgetcolumns信息。当 QTableWidget 被实例化时,列数和行数都为空,因此即使您调用 setHorizontalHeaderLabels,也不会显示标题。


    解决方案

    在您设置标题之前插入列:

    ui->filesTable->insertColumn(0);
    ui->filesTable->insertColumn(1);
    
    QStringList labels;
    labels << tr("Filename") << tr("Size");
    ui->filesTable->setHorizontalHeaderLabels(labels);
    

    【讨论】:

    • 由于我对 QT 的了解有限,我只是想了解我需要做什么等。我认为可能缺少一些东西,但不知道如何完成它。工作一种享受,谢谢!
    猜你喜欢
    • 2021-08-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多