主要是用QItemDelegate,写一个类继承QItemDelegate,实现createEditor(),setEditorData()和setModelData()方法

createEditor()实现当双击时,弹出的QComboBox中显示的内容

QWidget * ItemDelegate::createEditor(QWidget *parent, const QStyleOptionViewItem &option, const QModelIndex &index) const
{QComboBox *editor = new QComboBox(parent);for (int i = 0, size = _strList.count(); i < size; i++)editor->addItem(_strList.at(i));return editor;
}

setEditorData()来设置QComboBox当前editor的数据

void ItemDelegate::setEditorData(QWidget *editor, const QModelIndex &index) const
{QString text = index.model()->data(index, Qt::EditRole).toString();QComboBox *comboBox = static_cast<QComboBox*>(editor);int tindex = comboBox->findText(text);comboBox->setCurrentIndex(tindex);
}

setModelData()设置QTableView的model的数据

void ItemDelegate::setModelData(QWidget *editor, QAbstractItemModel *model, const QModelIndex &index) const
{QComboBox *comboBox = static_cast<QComboBox*>(editor);QString text = comboBox->currentText();model->setData(index, text, Qt::EditRole);
}

最后只需要创建ItemDelegate的对象,设置QTableView对应列的代理即可

ItemDelegate *itemDelegate = new ItemDelegate(this);
ui.tableView->setItemDelegateForColumn(1, itemDelegate);//设置第二列

QTableView中点击单元格弹出QComboBox相关推荐

  1. html中如何写一个提示框,html弹出公告 html中点击列表文字弹出提示框?

    怎么在网页制作中给主页设置弹出公告,要CSS布局HTML小编今天和大家分享在主页打... 无标题文档 45565 把style属性加给你的弹窗标签就可以了,宽高位置均可变. 哪位前辈高手有html的窗 ...

  2. java在面板中点击按钮后弹出对话框

    1 import javax.swing.*; 2 import java.awt.event.*; 3 import java.awt.*; 4 5 public class ShowDIalog ...

  3. java弹框形式输入_java中点击一个按钮弹出两个输入文本框的源代码

    展开全部 写了一个很简单的案例,可以参考和修改import java.awt.BorderLayout; import java.awt.GridLayout; import java.awt.eve ...

  4. IPhone手机页面中点击输入框,弹出键盘网页会放大的解决方法

    在head标签中加入以下meta声明: <meta name="viewport" content="width=device-width, initial-sca ...

  5. 【表格单元格可编辑】vue-elementul简单实现table表格点击单元格可编辑,点击单元格变成弹框修改数据

    前言 这是继我另一个帖子就是单元格点击变成输入框后添加的功能 因为考虑到有些时候修改单元格的信息可能点击后要修改很多,那一个输入框不好用 所以这时候就需要一个弹框可以把所有表单都显示出来修改 所以这里 ...

  6. el-table 点击单元格可编辑 点击表头可修改 右击表头删除表头和内容

    项目场景: 提示:这里简述项目相关背景: 点击单元格可编辑 点击表头可修改表头内容 .右击表头删除内容和表头 代码 html <template><div class="a ...

  7. QAbstractItemView子类如:QTreeView、QTableView等子项单元格复选框勾选/取消勾选功能实现

    1.前言 本博文所说的技术点适用于同时满足下面条件的所有QAbstractItemView视图类的子类: 模型类从 QAbstractItemModel派生. 代理类从QStyledItemDeleg ...

  8. php 点击文本框弹出时间,点击Input框弹出日期选项

    点击text文本框弹出日期选择器 body{margin:0;padding:0;font:14px Verdana, Arial, sans-serif;line-height:200%;} #co ...

  9. js实现点击li标签弹出其索引值

    据说这是一道笔试题,以下是代码,没什么要文字叙述的,就是点击哪个<li>弹出哪个<li>的索引值即可: <html> <head> <style& ...

最新文章

  1. 网吧电源和网络布线经验谈(1)
  2. java Cache框架
  3. servlet指定时间到现在过了多久_就喝一瓶啤酒,多久能开车?交警:过了这个时间,100%没问题...
  4. jquery 查询元素技巧
  5. 数据库问题解决后,应用面对的挑战
  6. 常用内存分配函数的说明
  7. Replication的犄角旮旯(二)--寻找订阅端丢失的记录
  8. poj-3034 Whac-a-Mole
  9. linux查看挂载内存卡,Ubuntu Linux 挂载移动硬盘、U盘、SD卡(对于新手)
  10. xp桌面上显示计算机名,巧妙还原WinXP快速启动栏的“显示桌面”图标
  11. 基础集合论 第一章 7 交集 8 差集
  12. 训练集,验证集与测试集
  13. 图层重命名快捷键_图层的基础知识
  14. c#开发移动彩信网关
  15. 真正优秀的人,为何都那么尊重别人?(非常深刻)
  16. 理解数据库中候选码,主码,外码,主属性,非主属性!
  17. w10 保护你的计算机,win10smartscreen筛选器怎么关闭-“windows已保护你的电脑”的关闭方法 - 河东软件园...
  18. java.lang、java.io、java.net、java.util解释整理
  19. YouTube玩转的自动字幕,为什么被国内视频网站“主动错过”?
  20. 夜神模拟器运行微信闪退如何解决?

热门文章

  1. php中的MVC模式运用
  2. SetWindowRgn注意点
  3. wcf服务和寄主的关系
  4. 如何在客户端发送ajax请求,ajax - 从服务器(nodejs)发送数据到客户端(ajax请求)
  5. jdbc mysql 自动重连_Mysql中JDBC如何完成自动重连机制的案例
  6. 学python语言用什么软件-对于自学python的初学者来说,应该使用什么编辑工具?...
  7. python基础教程视频教程百度云-Python零基础入门学习视频教程全42集百度云网盘下载...
  8. 西安python工资怎么样-python西安薪资
  9. 自学python推荐书籍2019-入门必看 | 大佬们推荐的Python书单汇总
  10. python代码壁纸-70行python代码实现壁纸批量下载