我使用 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);
}
标题没有显示在表格上,有什么想法吗? 谢谢。
水平标题需要来自QTableWidget
的
列的信息。当
QTableWidget
被实例化时,列数和行数都为空,因此即使您调用 setHorizontalHeaderLabels
,也不会显示标题。
在设置标题之前插入列:
ui->filesTable->insertColumn(0);
ui->filesTable->insertColumn(1);
QStringList labels;
labels << tr("Filename") << tr("Size");
ui->filesTable->setHorizontalHeaderLabels(labels);
检查是否是 self.tableWidget.horizontalHeader().setVisible(True) 而不是 self.tableWidget.horizontalHeader().setVisible(False)
不知道为什么,但是将 ui 文件转换为 py 文件后,该属性默认设置为 false。