在QTableView中不使用委托插入checkbox的方法
来源:互联网 发布:一楼土木人淘宝没了 编辑:程序博客网 时间:2024/05/12 05:30
正在看如何使用qt的委托,在这里先把如何不用委托做到在tableview中插入checkbox的方法写出来,之后再把用委托的方法写出来。
1、正常设置model及tableview:
<pre name="code" class="plain">QStandardItem *headerItem0=new QStandardItem(QObject::tr("checkbox"));QStandardItem *headerItem1=new QStandardItem(QObject::tr("id"));model->setHorizontalHeaderItem(0,headerItem0);model->setHorizontalHeaderItem(1,headerItem1);tableView->setModel(model);
2、向model插入每一行时加入checkbox,使用的是setIndexWidget()这个方法:
<pre name="code" class="plain"><pre name="code" class="plain">QCheckBox *ch;while(query.next()){ QStandardItem *item0=new QStandardItem(); QStandardItem *item1=new QStandardItem(query.value(0).toString()); //设置可编辑性 item0->setEditable(true); item1->setEditable(false); QList<QStandardItem*> items; items.append(item0); items.append(item1); model->appendRow(items);//新建checkbox对象,设置该对象属性并把它传给tableview ch=new QCheckBox; ch->setCheckable(true);//设置可选 ch->setEnabled(true);//设置不可编辑 ch->setChecked(false); tableView->setIndexWidget(model->item(i,0)->index(),ch); i++;}
3、读取tableview中checkbox的值:
int rowNum=tableView->currentIndex().row();QCheckBox *check=new QCheckBox;check=static_cast<QCheckBox*>(tableView->indexWidget(model->index(rowNum,0))); //不用代理也可以在tableview用简单的checkbox了if(check->isChecked()) ui->lineEdit_find->setText(QString("Y"));else ui->lineEdit_find->setText(QString("N"));
0 0
- 在QTableView中不使用委托插入checkbox的方法
- Qt在QTableView中使用自定义委托
- QT:在QTableView中使用各种自定义委托
- QT:在QTableView中使用各种自定义委托
- Qt:在QTableView中使用各种自定义委托
- QT:在QTableView中使用各种自定义委托
- QT:在QTableView中使用各种自定义委托
- QT:在QTableView中使用各种自定义委托
- QT:在QTableView中使用各种自定义委托
- QT:在QTableView中使用各种自定义委托
- QT:在QTableView中使用各种自定义委托
- QTableView中嵌入CheckBox的四种方法
- QTableView表格中出现多余的Checkbox
- QTableView表格中出现多余的Checkbox
- 【Qt】QTableView中嵌入复选框CheckBox 的四种方法总结
- QTableView中嵌入复选框CheckBox方法:实现QAbstractItemDelegate的paint()函数。
- Qt自定义委托在QTableView中绘制控件、图片、文字
- Qt自定义委托在QTableView中绘制控件、图片、文字
- WIFI信号影响因素
- Linux ALSA声卡驱动八之ASoC架构中的Platform
- PAT (Advanced Level) Practise 1010. Radix (25)
- Android onInterceptTouchEvent()和onTouchEvent()例子和总结
- Squid安装及详细配置
- 在QTableView中不使用委托插入checkbox的方法
- git 版本控制总结
- 网页中模拟Excel电子表格实例分享
- 多点触控之MotionEvent.ACTION_MASK作用
- Dom0 and Driver Domain
- nohup命令用法
- Linux系统之工具篇(二)集群管理软件clustershell
- HDU 5074 Hatsune Miku(DP)
- 1. Android 2.3用ffmpeg替代stagefright自带的swdecoders && 2. Android2.3为FFMPEG编写Extractor