首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在QTableView的列中显示下拉列表并根据下拉列表进行过滤

在QTableView的列中显示下拉列表并根据下拉列表进行过滤,可以通过以下步骤实现:

  1. 创建一个自定义的QStyledItemDelegate,重写其paint()和createEditor()方法,使其在单元格中显示下拉列表。
代码语言:python
复制
class ComboBoxDelegate(QStyledItemDelegate):
    def paint(self, painter, option, index):
        options = QStyleOptionComboBox()
        options.rect = option.rect
        options.currentText = index.data()
        options.state = QStyle.State_Enabled
        if option.state & QStyle.State_Selected:
            options.state |= QStyle.State_Selected
        QApplication.style().drawComplexControl(QStyle.CC_ComboBox, options, painter)

    def createEditor(self, parent, option, index):
        editor = QComboBox(parent)
        editor.addItems(index.data())
        return editor
  1. 在QTableView中设置自定义的QStyledItemDelegate。
代码语言:python
复制
table_view = QTableView()
delegate = ComboBoxDelegate()
table_view.setItemDelegateForColumn(column_index, delegate)
  1. 设置QTableView的模型,并将数据填充到表格中。
代码语言:python
复制
model = QStandardItemModel()
table_view.setModel(model)

# 填充数据
for row in range(row_count):
    for column in range(column_count):
        item = QStandardItem(data[row][column])
        model.setItem(row, column, item)
  1. 在QTableView的模型中添加过滤功能,根据下拉列表的选择过滤表格数据。
代码语言:python
复制
class FilterProxyModel(QSortFilterProxyModel):
    def __init__(self, parent=None):
        super(FilterProxyModel, self).__init__(parent)
        self.filters = {}

    def setFilter(self, column, value):
        self.filters[column] = value
        self.invalidateFilter()

    def filterAcceptsRow(self, source_row, source_parent):
        model = self.sourceModel()
        for column, value in self.filters.items():
            index = model.index(source_row, column, source_parent)
            if index.data() != value:
                return False
        return True
  1. 将QTableView的模型设置为FilterProxyModel,并将FilterProxyModel的源模型设置为QTableView的模型。
代码语言:python
复制
filter_proxy_model = FilterProxyModel()
filter_proxy_model.setSourceModel(model)
table_view.setModel(filter_proxy_model)
  1. 在下拉列表的currentIndexChanged()信号中,根据下拉列表的选择过滤表格数据。
代码语言:python
复制
editor = QComboBox()
editor.addItems(['Option 1', 'Option 2', 'Option 3'])
editor.currentIndexChanged.connect(lambda: filter_proxy_model.setFilter(column_index, editor.currentText()))

通过以上步骤,可以在QTableView的列中显示下拉列表并根据下拉列表进行过滤。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

何在HTML下拉列表包含选项?

为了在HTML创建下拉列表,我们使用命令,它通常用于收集用户输入表单。为了在提交后引用表单数据,我们使用 name 属性。如果没有 name 属性,则下拉列表中将没有数据。...用于将下拉列表与标签相关联;id 属性是必需。要在下拉列表定义选项,我们必须在 元素中使用 标签。...价值发短信指定要发送到服务器选项值倍数倍数通过使用,可以一次选择多个属性选项。名字名字它用于在下拉列表定义名称必填必填通过使用此属性,用户在提交表单之前选择一个值。...大小数此属性用于定义下拉列表可见选项数量价值发短信指定要发送到服务器选项值自动对焦自动对焦它用于在页面加载时自动获取下拉列表焦点例以下示例在HTML下拉列表添加一个选项 标签和 标签在列表添加选项 -<!

20920

Excel实战技巧85:从下拉列表中选择显示相关图片

在《Excel实战技巧15:在工作表查找图片》,我们使用名称和INDEX/MATCH函数组合,在工作表显示与所选择名称相对应图片。...在《Excel实战技巧22:在工作表查找图片(使用VBA代码)》,使用VBA代码来达到根据名称显示相应图片效果。本文实现效果相同,实现方法类似,但可能更简单些。...图2 接着,选择要创建下拉列表单元格,本例为单元格E3,设置其数据有效性如下图3所示。 ? 图3 然后,选择单元格区域B3:C10。...单击功能区“公式”选项卡“定义名称”组根据所选内容创建”命令,根据左侧创建名称,如下图4所示。 ? 图4 这里运用了一个技巧,一次性创建了8个名称。...图5 最后,选择单元格E3附近单元格,在C任选一幅图片粘贴到该单元格,并在公式栏中将该图片名称修改为:=卡通人物照片,如下图6所示。 ? 图6 看看最终效果,如下图7所示。 ?

6.3K10

Excel实战技巧86:从下拉列表中选择显示相关图片和文字说明

在《Excel实战技巧22:在工作表查找图片(使用VBA代码)》,使用VBA代码来达到根据名称显示相应图片效果。...在《Excel实战技巧85:从下拉列表中选择显示相关图片》,以更为简单方式实现显示图片相同效果。本文将在显示图片同时显示相关文字说明。...如下图1所示,在《Excel实战技巧85:从下拉列表中选择显示相关图片》工作表示例,添加了图片文字说明。 ?...选取该文本框,在公式栏输入: =G3 将文本框与单元格G3链接,如下图3所示。 ? 图3 此时,选择单元格E3下拉列表选项,看到右侧显示相应图片和文字说明,如下图4所示。 ?...图4 相关文章: Excel实战技巧15:在工作表查找图片 Excel实战技巧21:在工作表查找图片 Excel实战技巧22:在工作表查找图片(使用VBA代码) Excel实战技巧85:从下拉列表中选择显示相关图片

7K20

图表组件常见设置

在分析为了让图表显示更好效果,少不了对图表进行设置。接下来,简单介绍一下图表组件常见设置。...简单排序实现方法:点击字段下拉按钮,选择排序方式(无序,升序,降序,如图5所示),这里排序实现机制是根据字段数据类型而定,字段是数值型,就根据数值大小排序,字段是字符串型,就根据首字母排序。...这里以常见topN排序实现方法为例做简要操作说明,主要操作步骤: 1)选择高级排序,弹出如图7所示排序弹出框,这里可以选择排序类型,排序方式等,排序方式值指的是根据本字段进行排序,聚合指的是根据指定其他字段进行排序...[1504578917987_2301_1504578916427.png] 图7 2)选择聚合,如图7所示,在对应下拉列表中选择需要进行排序字段(常为图表绑定某一字段) 3)在聚合对应下拉列表中选择该字段聚合方式...[1504580096977_5899_1504580095443.png] 2)在弹出对话框设置过滤条件,在第一个下拉列表中选择字段;第二个下拉列表中选择是或者不是,即设定可肯定条件或否定条件;

2.2K10

Jmix 2.1 发布

系统将为 Book 实体数据自动创建索引(并在每次变动时重新索引),用户能使用索引进行全文搜索: ▲搜索组件 搜索结果会根据当前用户数据访问权限自动过滤,消除任何信息泄露风险。...向导能显示流程定义变量: 支持定义输出: 根据选择,向导会在视图中生成代码,将流程变量注入 UI 组件,使用所选输出完成任务: @ProcessForm(outcomes = {...新方法是,需要在下拉列表组件定义 itemsQuery 嵌套标签,编写类似下面的查询语句: <entityComboBox id="departmentField" property="department...因此,这种方法可以支持几乎任何大小<em>的</em>数据集作为<em>下拉</em><em>列表</em><em>中</em><em>的</em>选项来源。 话又说回来,对于较小<em>的</em>数据集,使用单独<em>的</em>预加载集合容器仍然是更好<em>的</em>选择,因为响应更快。...一旦你在方法体<em>中</em>开始输入字符,则会出现一个代码自动完成<em>的</em><em>下拉</em><em>列表</em>,其中<em>显示</em>了可用<em>的</em> bean、UI 组件、局部变量和类字段。尚未注入到类<em>中</em><em>的</em> Bean 和 UI 组件将以斜体字<em>显示</em>。

20110

使用管理门户SQL接口(一)

它只是对返回进行编号,它既不对应rowwid也不对应%VID。行号标题名是#。默认是显示行号。所有这些选项都是用户自定义。...可以单击任何标题,根据值按升序或降序排列SQL语句。从Show History列表执行SQL语句将更新其执行时间(本地日期和时间戳),增加其计数(执行次数)。...可以过滤Show History列表,如下所示:在过滤框中指定一个字符串,然后按Tab键。只有包含该字符串历史项才会包含在刷新后列表。...筛选器字符串可以是在SQL语句中找到字符串(比如表名),也可以是在执行时间中找到字符串(比如日期)。 过滤字符串不区分大小写。 在显式地更改过滤器字符串之前,它将一直有效。...对从Show History检索到SQL语句进行任何更改,都会将其作为新语句存储在Show History; 这包括不影响执行更改,更改字母大小写、空格或注释。

8.3K10

Spread for Windows Forms快速入门(11)---数据筛选

Spread支持开发人员自定义筛选数据用户体验。基于行数据筛选,你可以允许用户分列进行筛选,从而仅显示符合了下拉列表条件数据,或者根据筛选结果更改行外观。...使用AllowAutoFilter 属性对给定进行筛选。 完成设置之后,用户可以选择下拉列表选项对进行筛选。 根据进行行筛选(隐藏筛除行)时,请确保首可见。...从列表中选择一项,这样筛选就会生效,并且(在本)所有符合行就会被筛选出来。 默认下拉列表包括所有在本单元格不重复文本。 ? 下面的图表列出下拉列表条目。...在给定表单,多个可能拥有筛选器。基于单元格内容,不同可以有不同筛选器。 筛选结果类似于根据主键和从键进行数据排序。...在最初筛选器列表里面的这些选项就会筛选一些行, 剩下过滤列表选项是所有可能一个子集。通过选择多个筛选器,结果就会仅仅是那些符合所有筛选标准行。

2.6K100

Yii2 学习笔记之 GridView DetailView

在 GridView 小部件是从数据提供者获取数据,并以一个表格形式呈现数据。表每一行代表一个单独数据项,列表示该项目的属性。...在 DataGrid 小部件是在 yii\grid\Column 类中进行配置。它代表一个模型属性,并可以进行过滤和排序。 GridView 显示常用操作 <?...:意思是如果参数 type 为1情况,该显示 [ 'attribute' => 'buy_num', 'label' => '商品总价...> GridView(搜索)数据筛选 要筛选数据,表格视图需要一个模型从过滤表单取得输入数据,调整 dataprovider 查询语句到期望搜索条件。...11 在搜索条件(过滤条件)中使用下拉框来搜索 [ 'attribute'=>'status', 'filter' => ['1'=>'可用

2.2K60

遇到复杂业务查询,怎么办?

image.png 【面试题】利用下拉框选择机构名称、利率档、期限等条件,查询出相应费用 image.png 对金融产品进行台账管理,基础数据表黄色框所示(上图左边表格)。...这个业务问题,使用多维度拆解分析方法,可以把这个业务问题分为两部分:第一部份创造下拉列表,第二部份根据选好条件查询匹配出相应费用。...1.制作下拉列表 第1步:A机构名称有很多是重复,把这一值复制到表格空白处,然后删除重复值后,发现这一机构名称只有A、B、C共3家。...image.png 注意创造好下拉列表后,表M2:M4区域中内容A机构,B机构,C机构不能删除,否则下拉列表内容会成空白,交给领导时为避免信息过剩可以把M隐藏起来。...image.png 2.查询费用 机构、利率档、期限下拉列表创造好后,接下来要根据这3个条件进行费用查询匹配。 这时用到Excel里两个查询函数:index,match。

1.6K10

bootstrap-suggest插件

keyword 出现,或字段数据包含于 keyword 支持单关键字、多关键字输入搜索建议,多关键字可自定义分隔符 支持按 data 数组数据搜索、按 URL 请求搜索和按首次请求URL数据缓存搜索三种方式...2、onSetSelectValue:当从下拉菜单选取值时触发,传回设置数据到第二个参数 3、onUnsetSelectValue:当设置了 idField,且自由输入内容时触发(与背景警告色显示同步...推荐) effectiveFields: ["wellId","wellType","abandonWell"],// 有效显示列表字段,非有效字段都会过滤,默认全部有效。...,从前端搜索过滤数据时使用,但不一定显示列表。...为 true 时,有效字段大于一显示表头 showBtn: true, //是否显示下拉按钮 inputBgColor: '',

10.8K40

180多个Web应用程序测试示例测试用例

180多个Web应用程序测试示例测试用例 假设:假设您应用程序支持以下功能 各种领域表格 儿童窗户 应用程序与数据库进行交互 各种搜索过滤条件和显示结果 图片上传 发送电子邮件功能 数据导出功能 通用测试方案...7.禁用字段应显示为灰色,并且用户不应将重点放在这些字段上。 8.单击输入文本字段后,鼠标箭头指针应变为光标。 9.用户应该不能输入下拉选择列表。...12.重复记录不应显示在结果网格。 13.检查所有是否可见,并在必要时启用水平滚动条。 14.检查数据以获取动态(其值是根据其他值动态计算)。...15.对于显示报告结果网格,请检查“总计”行,验证每一总计。 16.对于显示报告结果网格,启用分页功能后,请选中“总计”行数据,导航到下一页。...18.检查单选按钮和下拉列表选项是否正确保存在数据库。 19.检查数据库字段设计是否具有正确数据类型和数据长度。 20.检查所有表约束(例如主键,外键等)是否正确实现。

8.1K21

WebGestalt 2019在线工具

而且WebGestalt 2019比之前版本增加了新功能,支持磷酸化蛋白质组学数据分析等。接下来,就让我带大家来一探究竟吧!...3.2 对如果用户选择12个有机体一个,则有一个下拉菜单来显示八个类别:遗传本体论、路径、网络、表型、疾病、药物、染色体位置和Others(其他)选项。...选择除了Others之外七类一个后,该类详细数据库名称将显示在另一个下拉菜单。...4、上传基因列表选择或上传功能库后,用户需要上传或粘贴基因列表。用户应该首先从下拉菜单中选择基因列表ID类型(红框)。...对于ORA,会用Venn图显示输入基因和数据库基因之间重叠情况。 对于GSEA,则显示排序分布和表示峰值位置富集图所取代。

3.6K00

Devtools 老师傅养成 - Network 面板

左上红点按钮:停止记录网络请求 第二个按钮:清空请求记录 录像按钮:页面加载时捕获屏幕截图 过滤按钮:显示/隐藏 过滤条件行 View 两个按钮:第一个是切换请求列表每行显示样式(大小请求行),...Offline 是模拟断网离线状态,其后下拉框可以选择模拟其他网络状况,比如 2G,3G 筛选请求 filter 文本框可输入请求属性 对 请求进行过滤,多个属性用空格分隔 支持过滤属性:...-> 选择 Clear Browser Cache 手动清除浏览器 Cookie:右键点击 Requests 表格任意位置 -> 选择 Clear Browser Cookies 自定义列表展示...鼠标悬浮到 Initiator 文件名上,可以看到发起当前请求堆栈轨迹,点击文件名,可以定位到直接发起请求代码 两个 size:在 size ,有两个数值,上面的较小值代表下载到资源大小...根据时间线蓝线和红线(DOMContentLoaded 和 load),以及请求优先级,可以从结果角度观察浏览器加载流程。

2.3K31

使用管理门户SQL接口(二)

这将显示可用名称空间列表,可以从中进行选择。 应用筛选器或从模式下拉列表中选择模式。 可以使用Filter字段通过输入搜索模式来筛选列表。...过滤器搜索模式将一直有效,直到显式地更改它。 过滤器字段右侧“x”按钮清除搜索模式。 从schema下拉列表中选择一个模式将覆盖并重置之前任何筛选器搜索模式,选择单个模式。...在“应用到”下拉列表中指定任何类别都受到筛选器或模式限制。 在“应用到”没有指定类别继续在名称空间中列出该类别类型所有项。...单击“表”、“视图”、“过程”或“查询”链接将显示有关这些项基本信息表。 通过单击表标题,可以按该值升序或降序对列表进行排序。...字段:表字段列表显示字段名,数据类型,#,必需,惟一,排序,隐藏,MaxLen, MaxVal, MinVal,流,容器,xDBC类型,引用,版本,选择性,离群值选择性,离群值和平均字段大小

5.1K10

后台系统设计(上篇:选择)

下拉菜单将多种集合进行了封装,只有在用户需要时候才显示出来(按需显示),具有节省页面空间及简化当前页面等优点。 外观 常规: ? 分类: ? 带搜索: ? 多选: ?...最佳用法 ·在较小空间下,对多个选项进行选择或内容较为次要且不需要一直显示时,下拉菜单是不错选择。若选项较少,考虑使用单选框(当进行单项选择时)或复选框(当进行多项选择时)。...·禁用菜单项,而不是隐藏,以提高功能可发现性。 ·下拉菜单文本保持简洁扼要,文本内容限制为单行。 ·请根据具体情况,定义列表最小和最大宽度,以适应其内容。...超出最大宽度从末尾截断,添加省略号,鼠标悬停显示全部文本内容。 ? ·如果没有预先选择,使用占位符(灰色文本)进行操作提示。例如:请选择。...如果需要指出所有项目都适用,例如,作为列表过滤器,请将「全部」 作为选项,并将其放置在列表开头。 ? ·若下拉列表内容大于视窗高度,下拉列表高度为:N列表列表。 ?

9.6K21

Power Query去重复结合数据有效性实现自适应下拉列表

本文通过Excel新功能Power Query结合数据有效性功能,实现最简单实用去掉重复数据并在表格中下拉显示效果。...传统Excel方法里,关于去掉重复数据有删重复项操作法、公式法、数透法等等,但这些方法都存在一些问题: 要么公式法会无法确定最终返回个数 要么删重复法每次需要手工重新操作 因此,很难解决将相应删重复后数据在表格中下拉显示数据有效性问题...) 这时,在Excel中将存在表格及名称“产品”,如下图所示: 二、对名称“产品”进行引用,生成数据有效性下拉菜单 1、使用Indirect函数创建数据验证序列 2、为避免不能录入非清单数据...,设置“出错警告”: 通过以上简单几个步骤,即实现了在Excel获得一数据枚举数据,即去掉重复数据,并在表格中下拉显示效果。...三、使用效果 在实际使用过程,当录入数据出现非原定数据时,可直接刷新通过Power Query生成非重复数据来刷新下拉列表可选数据。

2.4K20

Django中使用下拉列表过滤HTML表格数据

在Django,你可以使用下拉列表(即选择框)来过滤HTML表格数据。这通常涉及两个主要步骤:创建过滤表单和处理过滤逻辑。创建过滤表单首先,你需要创建一个表单,用于接收用户选择过滤条件。...处理过滤逻辑渲染HTML表格接下来,在视图中处理表单提交和过滤逻辑,然后在HTML模板渲染过滤数据。...1、问题背景当使用 Django 进行 Web 开发时,我们在页面中经常需要使用 HTML 表格来展示数据。如果我们需要根据某些条件对表格数据进行过滤,可以使用下拉列表来实现。...例如,我们有一个包含供应商信息 HTML 表格,我们可以通过下拉列表选择年份、月份和供应商类型来过滤数据。但是,如何才能让下拉列表选项动态变化,以便用户可以选择不同条件进行过滤呢?...当下拉列表选项改变时,使用 Ajax 向服务器发送一个请求,服务器根据请求参数返回过滤数据。在 JavaScript 代码,将服务器返回数据更新到 HTML 表格

9110

高质量编码------属性查询

,功能强大,有查询,高级查询,排序,分页,过滤,自定义显示功能,体验友好,支持通过html data标签配置从而零编程实现自己功能。...还有许多扩展插件来满足丰富功能类树结构表。下面是通过bootstrap-tablehtml配置。...image.png 同样注意我们只需要第一次加载时从后台获取原始数据,保存在tableData['pipeSupplyWater']这个对象,每次改变汇总方式重建bootstrap-table用到树结构汇总数据根据原始数据...图中groupData(data, fields)方法,可以完成汇总工作(三层以上汇总只需增加在groupData函数定义嵌套层)。...initQuerySelects()方法,获取到数据以后才根据数据生成查询下拉列表,此下拉列表进一步可以过滤数据本身。

1.1K00

html下拉框设置默认值_html下拉列表框默认值

8.3多行文本输入框 8.4下拉列表框、 在表单,通过和标记可 以在浏览器设计一个下拉列表或带有滚动 …… > 指定要创建控件类型 Text 默认值,创建一个单行文本输入控件 Password...HTML 基本语法与基本结构(重点) 标记…… 2 【案例16】趣味选择题 案例引入 学习表单核心是学习表单控件,HTML 语言提供了一系列表单控件,用于定义不同 表单功能,文本输入框、下拉列表...必须定义度量范围,既可以在 text ,也可… 如何在 EXCEL 建立下拉列表 1、 在本工作簿空白输入下拉菜单内容,然后选中后右键: 创建列表如下: 复制“=AC1:AC10” 2、 选中要建下拉菜单...下拉列表框,节省空间 下拉列表在网页也常会用到,它可以有效节省网页空… (复选框 ) 2)....发现本站有涉嫌侵权/违法违规内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

33.7K21

Python Qt GUI设计:QTableView、QListView、QListWidet、QTableWidget、QTreeWidget和QTreeWidgetltem表格和树类(提升篇—1)

目录 1、QTableView类 2、QListView类 3、QListWidet类 4、QTableWidget类 5、QTreeWidget和QTreeWidgetltem类 ---- 表格与树解决问题是如何在一个控件中有规律地呈现更多数据...1、QTableView类 在通常情况下,一个应用需要和一批数据(比如数组、列表进行交互,然后以表格形式输出这些信息,这时就要用到QTableView类了。...在QtableView可以使用自定义数据模型来显示内容,通过setModel来绑定数据源。...信号与自定义对象clicked()槽函数进行绑定,当单击QListView控件里Model一项时会弹出消息框(提示选择是哪─项)。...控件itemClicked信号与自定义对象Clicked()槽函数进行绑定,当单击QListWidget列表一个条目时会弹出消息框,提示选择是哪个条目。

3K20
领券