嗨我不知道为什么我的data()
函数在填充 QTableView 时从未被调用
我继承了 QSqlQueryModel。标题是这样的:
class TicketModel : public QSqlQueryModel
{
Q_OBJECT
public:
explicit TicketModel(QObject *parent = 0);
QVariant data(const QModelIndex &index, int role);
QVariant headerData(int section, Qt::Orientation orientation, int role) const;
};
在主窗口中,我将模型设置为表格
TicketModel *model = new TicketModel();
QSortFilterProxyModel *proxyModel = new QSortFilterProxyModel(this);
proxyModel->setSourceModel(model);
QSqlQuery *query = _tf->search(1);
model->setQuery(*query);
_ui->dashTable->setModel(proxyModel); // <<<<<<<<<<<<<< I setting model here too, didn't work
_ui->dashTable->setSortingEnabled(true);
_ui->dashTable->horizontalHeader()->setVisible(true);
_ui->dashTable->setSelectionBehavior(QAbstractItemView::SelectRows);
被TicketModel::headerData(...)
调用,但TicketModel::data(...)
在创建表时从不调用。为什么?我怎样才能让它被调用?
我希望我只是忽略了一些简单的事情,但我已经尝试了几个小时才弄清楚。
谢谢您的帮助!