• 7551阅读
  • 5回复

qtableview的拖动问题 [复制链接]

上一主题 下一主题
离线snowseya
 

只看楼主 倒序阅读 楼主  发表于: 2011-05-15
使用qtableview/qsqltablemodel显示数据中的内容,假设显示了姓名、性别、年龄、单位。想鼠标点击某个列表头,如年龄,并拖动到性别前,然后QTABLEVIEW的显示变为姓名、年龄、性别、单位。不知如何实现?
离线alexltr

只看该作者 1楼 发表于: 2011-05-15
QTableView->horizontalHeader ()->setMovable(true)
我不从事IT,只是喜欢Qt。
我不是程序员,只是与程序有缘。
我写程序,只是为了让工作变得简单有序!

                      ----  一个一直在入门的编程学习者
离线snowseya

只看该作者 2楼 发表于: 2011-06-23
谢谢。关键问题是,如果我新增一条记录(即点击新增按钮,弹出一个对话框,输入姓名、性别、年龄、单位之后,点保存,存到数据库、MODEL)如何拖动后的顺序显示出来?如何把拖动后的顺序保存起来,下次重新运行程序时,按拖动后的顺序显示?
再一个拖动之后,对应的索引有变化吗?比如,年龄拖到性别羰,变为姓名、年龄、性别、单位。年龄的索引是不是仍然是3、性别的索引仍然是2?
谢谢。
离线alexltr

只看该作者 3楼 发表于: 2011-06-23
看看manual再试试吧:

You can identify a section using the logicalIndex() and logicalIndexAt() functions, or by its index position, using the visualIndex() and visualIndexAt() functions. The visual index will change if a section is moved, but the logical index will not change.
我不从事IT,只是喜欢Qt。
我不是程序员,只是与程序有缘。
我写程序,只是为了让工作变得简单有序!

                      ----  一个一直在入门的编程学习者
离线snowseya

只看该作者 4楼 发表于: 2011-06-24
就是这块没有理解透。逻辑索引指的从数据库里取出来显示的顺序吗?
离线snowseya

只看该作者 5楼 发表于: 2011-06-24
同时另一个问题,不使用setheaderdate()怎么设置表头?
比如,在本论坛的个人作品展示中的BPMS中(http://www.qtcn.org/bbs/read-htm-tid-5255.html),只使用了QHeaderView *headerGoods = tableViewGoods->horizontalHeader();没再用其他的就显示出表头了。

快速回复
限100 字节
 
上一个 下一个