【QT】树控件
来源:互联网 发布:网上开淘宝店要钱吗 编辑:程序博客网 时间:2024/05/22 11:41
功能截图:
树控件treewidget的最上方有一标题栏,如图共有3列column。下面的每一行由一项item占用,每项item有多列column,每一列表示该项的一个属性。
每个item可以添加子项,如图中的HW是ZZN的子项。
每一项的每一个column中,可显示text,可添加显示icon,可设置多个data。
代码实现:
1、设置树控件的列数和宽度:
ui->m_treeWidget->setColumnCount(3); ui->m_treeWidget->setColumnWidth(0,100);
2、设置标题:
QStringList headers; headers.append("name"); headers.append("gender"); headers.append("height"); ui->m_treeWidget->setHeaderLabels(headers);
3、读入icon:
QIcon icon_male("C:/Users/Maggie/Downloads/male.png"); QIcon icon_female("C:/Users/Maggie/Downloads/female.png");
4、插入数据:
QTreeWidgetItem *zzn=AddItem("ZZN",false,174,NULL,icon_female); AddItem("HW",true,184,zzn,icon_male);
5、AddItem函数:
QTreeWidgetItem *MainWindow::AddItem(const QString &name,const bool gender,const int height,QTreeWidgetItem *parent,QIcon icon){ QTreeWidgetItem * item=new QTreeWidgetItem(); item->setText(0,name); item->setText(1,QString::number(gender)); //bool类型转换成QString item->setText(2,QString::number(height)); //int类型转换成QString item->setIcon(1,icon); item->setData(1,Qt::UserRole+1,gender); item->setData(2,Qt::UserRole+2,height); if(parent) //如果有父结点,则将此item添加给父结点 { parent->addChild(item); } else //如果没有父结点,则将此item添加给treewidget的最顶层(最后) { ui->m_treeWidget->addTopLevelItem(item); } return item;}
调试总结:
1、一开始,窗口是并列显示的两条item。设置断点发现“HW”项的第四个参数parent本应传入ZZN但却是空指针。后来发现忘记写AddItem函数的返回值 return item,然而编译器竟然编译通过。
2、由于树控件的每个column像列表控件的每一项那样有自己独立的text icon data,所以很多与item有关的函第一个参数往往都要指明针对哪一列column操作。如:
item->setData(1,Qt::UserRole+1,gender); item->setText(2,QString::number(height)); item->setIcon(1,icon);
3、setText第二个参数text是QString类型:
int转QString:QString::number(size);
bool转QString:QString::number(gender);
阅读全文
0 0
- QT树控件 QTreeView
- QT树控件 QTreeView
- 【QT】树控件
- Qt qml treeview 树控件
- QT控件
- QT 控件
- qt控件
- QT控件
- QT中树控件QTreeView开发实例
- QT 树型控件学习笔记 QTreeWidget
- Qt控件-输入控件组
- Qt学习六:控件三:单选按钮、复选框、列表控件、树控件
- Qt控件美化
- QT【小结】控件篇
- Qt④控件颜色
- QT自定义控件外观
- QT常用控件例子
- Qt控件的使用
- Android反调试方法总结以及源码实现之检测篇(一)
- $emit与v-on
- 物体识别
- android 随机生成指定位数的字母
- android studio 快捷键大全
- 【QT】树控件
- Struts2中的OGNL详解
- 线程的基本概念、线程的基本状态以及状态之间的关系
- 使用SecureCRT连接ubuntu
- javaweb开发优秀资源网站
- 成为Java顶尖程序员 ,看这11本书就够了
- Android7.0中文文档(API)--- MultiAutoCompleteTextView
- Vue填坑之旅2-模拟点击事件
- 区分css的px、em、rem