QT软件 已经实现QTableVIew显示数据库表的内容,但是我想要倒着输出 该怎么弄

QT软件 已经实现QTableVIew显示数据库表的内容,但是我想要倒着输出 该怎么弄,第1张

好像有一个函数是倒序,你查查具体是那一个函数,我用过一次,不过我不建议你这么写,不知道这是你的需求,还是你只是希望在数据多的时候看到最后一行,如果是后者,你可以定义滑块的为止,这样你就直接将数据定位到你最后一行,也是可以实现的,我开始用的是倒叙输出,但是这样设计有已缺陷就是,如果你在添加一个新的数据后,他刷新数据后,第一个数据依然在第一行,看的特别不舒服。希望对你有帮助

QVariant headerData ( int section,Qt::Orientation orientation, int role = Qt::DisplayRole ) const 获取水平头或垂直头标题

bool setHeaderData ( int section,Qt::Orientation orientation, const QVariant &value, int role = Qt::EditRole ) 设置水平头或垂直头标题

int rowCount ( const QModelIndex &parent= QModelIndex() ) const // 返回行数

int columnCount ( const QModelIndex &index = QModelIndex() ) const // 返回列数

virtual bool removeColumns ( int column, int count, const QModelIndex &parent = QModelIndex() ) //model->removeColumns (0)删除第一列

bool QSqlTableModel::submitAll (),//提交所有被修改的数据,然后修改的数据被保存在数据库中

void QSqlTableModel::revertAll () //撤销所有的修改,如果数据库已经被提交了修改,就不能通过撤销修改改回来了

virtual void revertRow ( int row ) //恢复指定行的改变

void QSqlTableModel::setFilter ( const QString &filter ) //筛选,按照字符串filter对数据库进行筛选,相当于SQL中的WHERE语句

bool QSqlTableModel::select () //在筛选和排序的条件下,将数据库中符合要求的在mode表格中显示出来

void QSqlTableModel::setSort ( int column, Qt::SortOrder order ) //排序 *** 作。按照列和Qt::SortOrder排序。Qt::SortOrder有升序和降序

bool insertRow ( int row, const QModelIndex &parent = QModelIndex() ) //插入行

bool insertColumn ( int column, constQModelIndex &parent = QModelIndex() ) // 插入列

model->setEditStrategy(QSqlTableModel::OnManualSubmit) //设置保存策略为手动提交

回复:

Qt::BackgroundRole改成Qt::ForegroundRole,就是文字颜色.(0,5)单元格就是index.column()==5&&index.row()==0

subclass你的Model,重载data、setData函数,以data()为例:

QVariant MyTestModel::data(const QModelIndex &index, int role) const

{

switch(role)

{

case Qt::DisplayRole:

return QVariant(QString(tr("%1")).arg((index.column() + 1) * 1000 + index.row() + 1))

case Qt::BackgroundRole:

switch(index.column() % 3)

{

case 0:

return QVariant(QColor(Qt::red))

case 1:

return QVariant(QColor(Qt::green))

case 2:

return QVariant(QColor(Qt::blue))

default://only to disable warning

return QVariant(QColor(Qt::white))

}

break

default:

return QVariant()

}

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9661057.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-30
下一篇 2023-04-30

发表评论

登录后才能评论

评论列表(0条)

保存