这里展示右对齐功能:
其他地方几乎都是这样写的:
QVariant TableModel::data(const QModelIndex& index, int role) const {
if (!index.isValid()) {
return QVariant();
}
if (role == Qt::DisplayRole) {
return (m_data.begin() + index.row())->at(index.column()); //单元格中数据
}
if (role == Qt::TextAlignmentRole) { //对其方式
return Qt::AlignRight; //对齐格式为居中
}
return QVariant();
}
然而直接这样让人很懵,还有人使用QStandardItemModel,容易造成必须使用这个model的错觉。新手肯定不知道怎么回事,其实原理很简单。TableModel是我们自定义的model类,继承了QAbstractTableModel类,只要我们在TableModel.h文件中声明data方法,并在TableModel.cc文件中添加这段代码就可以了。具体可以参考以下网址:
https://www.jianshu.com/p/8876297181c7