当前位置: 首页 > news >正文

QTableView 增加Combox

 

封装类

 1 #include <QObject>
 2 #include <QComboBox>
 3 #include <QStyledItemDelegate>
 4 class DynamicComboBoxDelegate : public QStyledItemDelegate {
 5     Q_OBJECT
 6 public:
 7     explicit DynamicComboBoxDelegate(const QStringList& items, QObject* parent = nullptr)
 8         : QStyledItemDelegate(parent), m_items(items) {
 9     }
10 
11     void setItems(const QStringList& items) {
12         m_items = items;
13     }
14 
15     QWidget* createEditor(QWidget* parent, const QStyleOptionViewItem& option,
16         const QModelIndex& index) const override {
17         QComboBox* editor = new QComboBox(parent);
18         editor->addItems(m_items);
19         return editor;
20     }
21 
22     // ... 其他方法同上
23 
24 private:
25     QStringList m_items;
26 };

 

使用:

 1 DynamicComboBoxDelegate* delegate = new DynamicComboBoxDelegate(
 2     { u8"", u8"", u8"其他" }, ui.tableView);
 3 ui.tableView->setItemDelegateForColumn(1, delegate);
 4 
 5 QStandardItemModel* model = new QStandardItemModel(5, 3, ui.tableView);
 6 
 7 // 设置表头
 8 model->setHorizontalHeaderLabels({ u8"姓名",u8"性别", u8"状态" });
 9 
10 model->setItem(0, 0, new QStandardItem(codec->toUnicode("张三")));
11 model->setItem(0, 1, new QStandardItem(codec->toUnicode("")));
12 model->setItem(0, 2, new QStandardItem(codec->toUnicode("22")));
13 // 为第1行第0列的单元格设置数据和文本
14 model->setItem(1, 0, new QStandardItem(codec->toUnicode("张三1")));
15 model->setItem(1, 1, new QStandardItem(codec->toUnicode("")));
16 model->setItem(1, 2, new QStandardItem(codec->toUnicode("221")));
17 
18 ui.tableView->setModel(model);

 

http://www.rkmt.cn/news/68832.html

相关文章:

  • 2025中国汽车电子领域领先企业推荐榜单!我国汽车电子领域有哪些领先企业?
  • 完整教程:Linux学习之旅6
  • Sword B树学习笔记一
  • 2025年五大有实力的电加热导热油炉生产厂家推荐
  • 混频器混频效率低,噪声大,可能是本振信号强度所致
  • Binder机制的优点有哪些?
  • 2025 年 12 月试验机,拉力试验机,高低温拉伸试验机厂家最新推荐,聚焦资质、案例、售后的十家机构深度解读!
  • 2025 年 12 月成都艺术生文化课集训,成都高三冲刺封闭式全托辅导最新推荐,聚焦资质、案例、售后的十家机构深度解读!
  • 2025年卧式LTO沉积设备供货商推荐榜单:Sipos沉积设备/PSG沉积设备/Si3N4沉积设备制造商精选
  • 2025 年北京婚礼堂服务机构最新推荐榜,聚焦品牌服务品质与菜品新鲜度深度解析烟火气宴席北京婚礼堂公司推荐
  • 2025 年 12 月人力资源咨询公司权威推荐榜:精准匹配与专业服务的行业佼佼者!
  • 完整教程:模电基础和数电基础
  • 2025 年 12 月污水处理用水墨分离设备,智能化水墨分离设备厂家最新推荐,聚焦资质、案例、售后的十家机构深度解读!
  • 2025 年 12 月内控管理咨询公司权威推荐榜:精准风控与高效运营的行业领航者
  • 2026年煤炭检测仪器厂家新推荐排行,煤炭检测仪器信誉好/售后好/服务好/技术好
  • 2025 年 12 月驻场咨询公司权威推荐榜:企业转型与管理优化的最佳伙伴!
  • WTAPI框架个人微信机器人可开发功能
  • 推荐一家放心的保研规划:这篇推荐指南请收下!
  • 水中油检测仪器正规供应商TOP5权威推荐:个性化定制优选指南
  • 最值得打卡的十大火锅品牌排行榜出炉,重庆火锅/火锅/美食/特色美食/老火锅/火锅店/川渝火锅火锅品牌排行
  • 2025年12月广州装饰装修公司推荐榜:办公室/厂房/商铺/酒店/会所/美容院/装饰装修/设计装修,匠心筑空间,这三家公司用品质赢得信赖
  • 【IO多路转接】epoll 高性能网络编程:从底层机制到服务器实战 - 教程
  • “骑跑中国” 重庆站开赛,600 组家庭解锁全民健身新赛道
  • 技术强管理规范的源头厂家甄选指南,助力企业降本提效
  • 嘉峪关青少年飞盘赛开赛,100 余名小将默契比拼
  • 第五届北京 BMX 小轮车公开赛收官,青少年展现极限活力
  • Studio 3T 2025.22 发布 - MongoDB 的终极 GUI、IDE 和 客户端
  • 页面适配,高度撑满
  • 2025年狗狗止痒短期方案十大品牌排行榜,快速止痒应急办法精
  • 2025国内企业如何选择国际短信平台?国际物流通知短信平台,全球覆盖、成本控制与高并发能力十强全解析