我使用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);
}
表格上没有显示标题,有什么想法吗? 感谢。
答案 0 :(得分:4)
水平标题需要QTableWidget
中列的信息。在实例化QTableWidget
时,列计数和行计数都为空,因此即使您调用了setHorizontalHeaderLabels
,也没有显示标题。
在之前插入列>>设置标题:
ui->filesTable->insertColumn(0);
ui->filesTable->insertColumn(1);
QStringList labels;
labels << tr("Filename") << tr("Size");
ui->filesTable->setHorizontalHeaderLabels(labels);