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

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

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

  1. 创建一个自定义的QStyledItemDelegate,重写其paint()和createEditor()方法,使其在单元格中显示下拉列表。
代码语言:python
代码运行次数:0
复制
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
代码运行次数:0
复制
table_view = QTableView()
delegate = ComboBoxDelegate()
table_view.setItemDelegateForColumn(column_index, delegate)
  1. 设置QTableView的模型,并将数据填充到表格中。
代码语言:python
代码运行次数:0
复制
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
代码运行次数:0
复制
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
代码运行次数:0
复制
filter_proxy_model = FilterProxyModel()
filter_proxy_model.setSourceModel(model)
table_view.setModel(filter_proxy_model)
  1. 在下拉列表的currentIndexChanged()信号中,根据下拉列表的选择过滤表格数据。
代码语言:python
代码运行次数:0
复制
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的下拉列表中添加一个选项 标签和 标签在列表中添加选项 -<!

27920

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.6K10
  • 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:从下拉列表中选择并显示相关的图片

    7.2K20

    图表组件常见设置

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

    2.3K10

    Jmix 2.1 发布

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

    26010

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

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

    8.4K10

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

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

    2.8K100

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

    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: '',

    11K40

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

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

    8.3K21

    Axure高保真教程:日期时间下拉列表

    在系统中,我们经常会用到日期时间选择器,它同时包含了日历日期的选择和时间的选择,一般是下拉列表的形式进行选择。今天作者就教大家如何在Axure中用中继器制作真实日期时间效果的下拉列表。...第二种是通过js调用,js调用的好处的简单快捷,通过几行js代码就可以调用浏览器的日期时间下拉列表,但是缺点也很明显:第一,不同浏览器不同版本自带的时间日期下拉列表不一样,你看到的是这个效果,别人看到的就是另一个效果...;第二,后续的交互不好做,我们做选择器,后续可能会对中继器表格进行筛选或者其他交互,如果是用js调用的话,对于不懂代码的小白就无法进行后续的交互。...提示框提示框包括提示文字,矩形,图标这几部分组成,大家可以根据自身需要设置样式,也可以增加移入变色,选中变色等效果来美化。鼠标单击提示框的时候,我们用显示的交互,将隐藏的下拉组合显示出来即可。2....这样我们就制作完成了日期时间下拉列表的原型模板了,下次使用时复制粘贴就能使用,需要增加后续交互也可以自行添加,是不是很方便呢?

    36520

    Devtools 老师傅养成 - Network 面板

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

    2.4K31

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

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

    5.2K10

    WebGestalt 2019在线工具

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

    3.7K00

    30道Qt面试题(答案公布)

    • QComboBox:下拉列表框。• QSlider:滑块。• QProgressBar:进度条。✦ 4. Qt中有哪些常见的布局管理器?如何使用布局管理器?...在Qt开发中,如何保障软件的安全性,防止可能出现的漏洞和风险?• 使用安全的编码实践,如防止SQL注入、XSS等。• 定期更新依赖库。• 进行安全测试,如代码审计和漏洞扫描。✦ 17....• 使用远程仓库(如GitHub)进行备份。✦ 23. 在Qt开发中,如何优化应用性能,例如减少内存占用、提高响应速度?• 使用Qt的性能分析工具(如Qt Creator的分析器)。...在Qt开发中,如何进行代码重构?• 使用自动化工具(如Qt Creator的重构功能)。• 逐步重构,确保每次重构后代码仍能正常运行。• 编写单元测试以验证重构后的代码。✦ 28....在Qt开发中,如何应对用户反馈的问题和缺陷?• 及时响应用户反馈。• 使用问题跟踪系统(如Jira)记录和管理问题。• 定期发布修复版本。✦ 29. 在Qt开发中,如何进行跨平台兼容性测试?

    13900

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

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

    9.8K21

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

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

    2.6K20

    【愚公系列】《AIGC辅助软件开发》021-AI 辅助测试与调试:更多实践

    4.楼盘:必填字段,文本输入框,字符长度为 50,可以根据输人的楼盘关键字调用后端楼盘列表接口检索数据库中包含关键字的前15个楼盘,需要选择检索结果列表中展示的楼盘,若数据库中没有包含输人关键字的楼盘,...- 未开通权限的城市置灰并禁用选择。3. **行政区字段**: - 根据选择的城市动态更新行政区下拉列表。 - 在未选择城市时,行政区字段禁用。4....|| TC03 | 城市字段 | 城市下拉列表显示验证 | 用户已成功登录并选择一个省份 | 1. 点击城市下拉框。2....验证城市下拉列表中展示的城市。 | 城市下拉列表仅展示具有查价权限的城市,未开通权限的城市置灰并禁用选择。...例如,在测试用例设计中,AI可以自动生成测试用例,但在具体的测试场景中,仍需根据实际情况进行调整和优化,以确保测试用例的全面性和有效性。

    11910
    领券