• 4046阅读
  • 2回复

QTableView 问题。 [复制链接]

上一主题 下一主题
离线sak555555
 

只看楼主 倒序阅读 楼主  发表于: 2010-04-19
— 本帖被 XChinux 从 General Qt Programming 移动到本区(2011-01-02) —

QStandardItemModel model;
    model.setColumnCount(2);
    //model.setRowCount(30);

    model.setHeaderData(0,Qt::Horizontal,"send time :");
    model.setHeaderData(1,Qt::Horizontal,"mail text :");
    
    for(int j = 0 ; j < 30 ; j++)
    {
        QStandardItem *itemID = new QStandardItem("hello");
        model.setItem(j,itemID);

    }
    ui->mailTableView_->setModel(&model);
    ui->mailTableView_->verticalHeader()->hide();
    //列宽
    ui->mailTableView_->setColumnWidth(0,30);
怎么界面的mailTableView_什么都没有呢。????? 高手帮看一下。
离线sak555555

只看该作者 1楼 发表于: 2010-04-19
QStandardItemModel model;
换成
QStandardItemModel  *model = new QStandardItemModel ();  //就出来了,想知道为什么。还有

  model.setItem(j,0,itemID);    //没问题
  model.setItem(j,1,itemID);    //第2列不显示。。。
离线szh1987
只看该作者 2楼 发表于: 2010-04-19
QStandardItemModel model如果超过了它的作用域,就会被释放掉,里面东西没了就看不到了
你new出来的话如果你不delete掉就会一直在的,所以你要自己delete掉,不然会内存泄露
快速回复
限100 字节
 
上一个 下一个