QtQTableView监控选中行改变
在使用Qt的QTableView控件时,可以通过监控选中行的改变来实现相应的功能。可以通过继承QTableView类,并重写selectionChanged()函数来实现监控选中行改变的功能。
下面是一个简单的示例代码:
#include <QTableView>
#include <QItemSelectionModel>
#include <QDebug>
class MyTableView : public QTableView
{
Q_OBJECT
public:
MyTableView(QWidget *parent = nullptr) : QTableView(parent)
{
connect(selectionModel(), SIGNAL(selectionChanged(const QItemSelection &, const QItemSelection &)),
this, SLOT(onSelectionChanged(const QItemSelection &, const QItemSelection &)));
}
public slots:
void onSelectionChanged(const QItemSelection &selected, const QItemSelection &deselected)
{
qDebug() << "Selected rows:";
foreach(const QModelIndex &index, selected.indexes()) {
qDebug() << index.row();
}
}
};
在这个示例中,MyTableView类继承自QTableView,并在构造函数中连接了selectionChanged()信号与onSelectionChanged()槽函数。当选中行改变时,onSelectionChanged()槽函数会被调用,打印出当前选中的行号。
使用时,可以将MyTableView作为QMainWindow的子控件使用,或者在自己的窗口类中创建MyTableView对象即可
原文地址: https://www.cveoy.top/t/topic/itYO 著作权归作者所有。请勿转载和采集!