zoukankan      html  css  js  c++  java
  • PyQt(Python+Qt)学习随笔:QListView的modelColumn属性及困惑

    一、modelColumn介绍

    QListView的modelColumn属性用于控制视图中展现model中哪一列数据,缺省值为0,即展现第一列数据。

    可以通过modelColumn()、setModelColumn(int column)来访问和设置该属性。

    在测试验证时,老猿反复测试发现存在如下问题:
    1、Qt Designer中该属性值只能为0,无法设置为非0;
    2、在代码中调用setModelColumn(1)无效。

    二、困惑

    经多方查阅资料确认QListView只能展示一列数据,没有表头,那么为什么要在Designer和类中设置这个属性呢?

    老猿困惑了几天时间,最终发现是自己对QListView使用的Model认识有误区,老猿测试时使用QStringListModel、QStandardItemModel,QStringListModel肯定只有一列数据,QStandardItemModel的数据项构建时虽然使用了层次关系的数据,但测试时在同一项数据上还是只有一列数据,在数据存储上就没有多列数据,肯定无法使用该属性大于0的值。

    于是后来测试时老猿使用了QFileSystemModel来测试,发现可以通过setModelColumn来调整显示的数据内容,然后又改成了QStandardItemModel,使用model的setItem方法来设置多列数据,也可以使用setModelColumn来调整显示数据。

    基于以上测试情况,两个困惑的问题第二个解决了,但第一个问题还是无法解决,老猿想不明白在Designer中QListView为什么要提供modelColumn属性来设置。

    老猿Python,跟老猿学Python!

  • 相关阅读:
    maven搭建
    javascript
    FTP工具类
    jsp相关知识
    java mail 邮箱发送
    servlet相关
    hibernate文档
    6月
    Spring AOP 使用总结
    spring事务配置总结
  • 原文地址:https://www.cnblogs.com/LaoYuanPython/p/12235096.html
Copyright © 2011-2022 走看看