检测点击并获取QTableWidget header的文本,如何?
Detect click and get text of QTableWidget header, how?
我知道如何通过观察 cellClicked(int row, int column)
信号(下面的代码)来检测 QTableWidget
单元格中的点击。
我想对水平 header 的单元格执行相同的操作,并获取单击的 header 单元格的文本。我该怎么做?
// mainwindow.h
class MainWindow : public QMainWindow {
Q_OBJECT
QWidget widget;
QVBoxLayout vLayout {&widget};
QStringList headers {"asdca", "asdcad", "asdcadca"};
QTableWidget table {5, headers.size()};
public:
MainWindow(QWidget *parent = 0);
~MainWindow() {}
};
// mainwindow.cpp
MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent) {
setCentralWidget(&widget);
vLayout.addWidget(&table);
table.setHorizontalHeaderLabels(headers);
connect(&table, &QTableWidget::clicked, []{
qDebug() << "click!!" ;
});
}
auto header = table->horizontalHeader();
connect(header, &QHeaderView::sectionClicked, [this](int logicalIndex){
QString text = table.horizontalHeaderItem(logicalIndex)->text();
qDebug() << logicalIndex << text;
});
可以获得QHeaderView for you QTableWidget
with method horizontalHeader. QHeaderView
have signal sectionClicked。您可以使用它来确定 header 项的文本。
我知道如何通过观察 cellClicked(int row, int column)
信号(下面的代码)来检测 QTableWidget
单元格中的点击。
我想对水平 header 的单元格执行相同的操作,并获取单击的 header 单元格的文本。我该怎么做?
// mainwindow.h
class MainWindow : public QMainWindow {
Q_OBJECT
QWidget widget;
QVBoxLayout vLayout {&widget};
QStringList headers {"asdca", "asdcad", "asdcadca"};
QTableWidget table {5, headers.size()};
public:
MainWindow(QWidget *parent = 0);
~MainWindow() {}
};
// mainwindow.cpp
MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent) {
setCentralWidget(&widget);
vLayout.addWidget(&table);
table.setHorizontalHeaderLabels(headers);
connect(&table, &QTableWidget::clicked, []{
qDebug() << "click!!" ;
});
}
auto header = table->horizontalHeader();
connect(header, &QHeaderView::sectionClicked, [this](int logicalIndex){
QString text = table.horizontalHeaderItem(logicalIndex)->text();
qDebug() << logicalIndex << text;
});
可以获得QHeaderView for you QTableWidget
with method horizontalHeader. QHeaderView
have signal sectionClicked。您可以使用它来确定 header 项的文本。