欢迎来到Doc100.Net免费学习资源知识分享平台!
您的位置:首页 > 程序异常 >

qt tablewidget中数据排序的有关问题

更新时间: 2014-01-05 02:43:40 责任编辑: Author_N1

 

QT tableWidget中数据排序的问题
现有一个tableWidget,4列,8行,头一列定义为id列,输入数据为int型数据,现向tableWidget里输入数据,怎么设置按照id大小从小到大顺序排列,用语句怎么实现??我知道其实点击id这一列就可以实现数据按照id从小到大或者从大到小排序,但怎么用语句实现,知道的麻烦说下谢谢了。
--参考方法--
tableWidget 是基于model下的一个组件,你让他显示model里面的东西时候 你查数据库时候就可以进行排序
写数据库语句可以用
QSqlQueryModel model;
model.setQuery("SELECT 列名 FROM 表名 ORDER BY ID ASC")

之后再用tableWidget.setModel(model);就可以了


--参考方法--
tableWidget->setAutoSorting(true);没记错的话是这样。点击顶栏排序
--参考方法--
Table sorting
--参考方法--
也许是有点愚笨的办法:
1、按你说的应该属于一个鼠标点击标题栏,触发信号并处理的操作,那么首先捕获鼠标事件 setMouseTracking(true);

2、关于connect语句怎么写 首先这是在同一个tablewidget上的问题,故可以就在该类实现文件中作该操作 刚查了下信号函数 也不是很确定 cellClicked ( int row, int column );这个函数不知道能不能判断row == -1为标题栏,呵呵,先假设可以,那么自定义一个slot函数 , OnCellClicked(int _row,int _column);   if (_row == -1 && _colume ==**) {  // 这里可以用void sortItems ( int column, Qt::SortOrder order = Qt::AscendingOrder )这个函数}

3、原来打算说到3 结果说到第二就说完了  恩  如果row == -1 不表示标题栏的话就使用clicked再判断是否是标题吧   很多只是推测 错了请指出
上一篇:上一篇
下一篇:下一篇

 

随机推荐程序问答结果

 

 

如对文章有任何疑问请提交到问题反馈,或者您对内容不满意,请您反馈给我们DOC100.NET论坛发贴求解。
DOC100.NET资源网,机器学习分类整理更新日期::2014-01-05 02:43:40
如需转载,请注明文章出处和来源网址:http://www.doc100.net/bugs/t/13588/
本文WWW.DOC100.NET DOC100.NET版权所有。