• 5076阅读
  • 1回复

【求教】关于view和model【已解决】 [复制链接]

上一主题 下一主题
离线午小夜
 

只看楼主 倒序阅读 楼主  发表于: 2009-12-04
— 本帖被 XChinux 从 General Qt Programming 移动到本区(2011-01-02) —
問題描述:
        目的是想用QTableView去打開指定路徑下的文件時,想要對QTableView的horizontalHeader的内容進行修改。所以就對QTableView的model進行了setHeaderData操作,但是,沒有達到預期效果。代碼如下:
  1. QDirModel *model = new QDirModel;
  2. //    model->setHeaderData(0,Qt::Horizontal,tr("name"));     //測試返回值為 false
  3. //    model->setHeaderData(0,Qt::Horizontal,tr("size"));         //測試返回值為 false
  4. //    model->setHeaderData(0,Qt::Horizontal,tr("type"));         //測試返回值為 false
  5. //    model->setHeaderData(0,Qt::Horizontal,tr("date"));         //測試返回值為 false
  6. //    for(int i=0;i<5;i++)
  7. //    {
  8. //        qDebug()<<model->headerData(i,Qt::Horizontal);
  9. //    }
  10.     m_tableView = new QTableView(this);
  11.     m_tableView->setFixedSize(775,630);
  12.     m_tableView->setModel(model);
  13.     m_tableView->setColumnHidden(2,true);
  14.     m_tableView->setIconSize(QSize(60,40));
  15.     m_tableView->setRootIndex(model->index(QDir::currentPath()+"/video/")); //open the video folder under the currentPath;
  16.     m_tableView->setColumnWidth(0,400);
  17.     m_tableView->setColumnWidth(1,80);
  18.     m_tableView->setColumnWidth(3,250);
  19.     m_tableView->setFocusPolicy(Qt::NoFocus);
  20.     m_tableView->horizontalHeader()->setFont(QFont("Arial",20,75));


實際輸出為:
QVariant(QString, "Name")
QVariant(QString, "Size")
QVariant(QString, "Type")
QVariant(QString, "Date Modified")
QVariant(, )
註釋掉的代碼就是未能達到預期效果的代碼。麻煩大家賜教。
[ 此帖被午小夜在2009-12-04 13:47重新编辑 ]
[操作系统版本]  Windows XP;Linux Ubuntu;Linux Fedora;
[Qt SDK版本]    4.7.0
[SDK 发布日期]  2010.05
[IDE(集成开发环境)] QtCreator
个人网页:http://hi.baidu.com/午小夜
學歷:Royal Jalidon
离线午小夜

只看该作者 1楼 发表于: 2009-12-04
添加了一個繼承自QDirModel的類.實現了headerData的設置.詳細代碼請看 http://hi.baidu.com/午小夜
[操作系统版本]  Windows XP;Linux Ubuntu;Linux Fedora;
[Qt SDK版本]    4.7.0
[SDK 发布日期]  2010.05
[IDE(集成开发环境)] QtCreator
个人网页:http://hi.baidu.com/午小夜
學歷:Royal Jalidon
快速回复
限100 字节
 
上一个 下一个