2011-02-10 233 views

回答

26

子躲QItemDelegate的替代方法是將您的模型子類化並覆蓋data()方法。

QVariant MyModel::data(const QModelIndex& index, int role) const { 
    if (index.column() == yourCellIndex && role == Qt::TextAlignmentRole) { 
     return Qt::AlignLeft; 
    } else { 
     return QAbstractTableModel::data(index, role); 
    } 
} 
+0

回報QAbstractTableModel ::數據(索引,角色)是不可能的,我認爲。因爲它是純虛擬的。你應該返回QVariant()。 http://doc.qt.io/qt-5/qabstractitemmodel.html#data – 2017-02-21 13:08:25

+0

這個答案是在一個更簡單的時間,當草更綠,天空更清晰。請隨時編輯此答案 – Nekuromento 2017-02-21 16:27:10

0
QSqlTableModel *model2= new QSqlTableModel(); 

model2->setTable("Save"); 
model2->select(); 

QSortFilterProxyModel *proxy1=new QSortFilterProxyModel(); 
proxy1->setSourceModel(model2); 

QStandardItemModel *modd=new QStandardItemModel(); 

for (int z =0; z< proxy1->rowCount(); ++z) 
    { 
    for (int y =0; y< proxy1->columnCount(); ++y) 
     { 
     QStandardItem *item= new QStandardItem(); 
     item->setText(proxy1->index(z,y).data().toString()); 
     item->setTextAlignment(Qt::AlignCenter); 
     modd->setItem(z,y,item); 

     } 
    } 
ui->tableView->setModel(modd); 
相關問題