问题标签 [qlistwidgetitem]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
8914 浏览

c++ - 如何获取 QListWidget::selectedItems() 的索引?

我有QListWidget并且我需要获取所选项目的索引。(我可以按值处理列表中的项目,但我有std::vector包含列表中每个项目的一些对象,我还需要从中删除它们。)有一个功能indexFromItem,但它是受保护的(?)所以我可以'不要使用它。

有任何想法吗?

0 投票
1 回答
363 浏览

python - 从未调用列表小部件项数据对象上的插槽(在 PyQt 5.7 中)

在 PyQt 5.5 中,以下代码有效,但在 PyQt 5.7 中则不然(列表显示“示例”而不是“新示例”,并且确实调试显示该插槽从未被命中)。有谁知道它有什么问题:

虽然这可能不是应该完成的方式,但在 PyQt 5.5 中,对于 PyQt 5.5 错误(这阻止我们简单地从 QListWidgetItem 派生,因此项目可以直接连接到信号),这是一个可接受的解决方法。

回复后编辑

在 Ekhumoro 回答之后,我面临着一个严酷的现实:这修复了发布的示例代码,但不是我的应用程序,因为我的应用程序完全按照解决方案所说的去做。所以我重新审视:在真实的应用程序中,项目是稍后创建的,名称更改的信号是稍后发出的。因此,重现我的问题的更好的最小示例将具有以下内容:

这使断言失败。如果数据由强引用保存(取消注释最后一行 init),则断言通过。所以很可能 setData() 只保留对其第二个参数的弱引用,导致数据在 init 结束时被删除,除非它存储在某个地方。

0 投票
0 回答
194 浏览

python - 悬停上的 PyQt 将样式设置为另一个小部件

我正在用 PyQt 制作一个应用程序。我有我QListWidget的物品。我将小部件设置为它们,因为我希望两行文本显示为setItemWidget. 该小部件包括两个标签,用于文本和日期。

当我悬停该项目时,如何将StyleSheet设置为我的小部件中的两个标签?我可以将它设置为标签本身,但我需要更改它们。悬停不同的小部件时我可以影响另一个小部件吗?

谢谢你。

0 投票
2 回答
1006 浏览

qt - 通过鼠标单击部分检查 QListWidget 项(三态)

Qt 4.8。我需要列表中的一些项目来拥有 3 个状态。所以我添加以下代码:

项目在其创建时成功设置为部分选中状态,但进一步的鼠标点击会在选中/未选中状态之间切换。

0 投票
2 回答
2536 浏览

python - 如何获取从 qlistwidget 上的 dropEvent 创建的项目

因此,我尝试使用拖放将所选项目从一个 QListWidget 复制到另一个。

无论如何,我可能可以通过使用 item.setData 传递序列化参数来破解我需要的东西,但我无法找到一种直接的方法来处理在第二个 listWidget 中创建的新项目。

我想我可以查看第二个 QListWidget 中的所有项目,并以某种方式确定刚刚创建了哪个项目,但似乎应该有一种更简单的方法来了解 drop 事件正在创建哪个项目。

0 投票
2 回答
1024 浏览

python - 如何从一个列表中拖放复制但使用移动进行内部拖放

我需要能够将一个项目从一个 listWidget 复制到另一个。这很容易做到,但我似乎无法找到一种方法来根据被拖动的项目是否起源于它被拖放到的列表来区分拖放操作,而不必用我的覆盖几乎所有拖放功能自己的。当我将一个项目从一个列表拖到另一个列表时,我想复制它,但是当我在同一个列表中拖动项目时,我想移动它。

我一直在研究设置mimetypes,但是我必须编写自己的mouseMoveEvent 作为一种方式来判断拖动的项目来自哪里,但到目前为止尝试这会破坏一切。是否无法在不覆盖 mouseMoveEvent 的情况下为项目设置 mime 类型?

由于我拖动的项目是自定义的,因此当它被移动或复制到第二个列表时,我必须编写自己的定义来重建它。使用默认的拖动功能,这一切都适用于内部移动。但是到目前为止,我还没有弄清楚如何在拖动是内部移动时使用默认的拖放功能,然后在拖放来自不同列表时切换到我的自定义功能来复制项目。

0 投票
1 回答
253 浏览

python - PyQt 导出当前在 QListWidget 中可见的 QListWidgetItems 的 y 像素坐标

在下面的屏幕截图中,QListWidget随机填充了许多QListWIdgetItems,已wordWrap启用,scrollBar右侧带有 a(注意所选项目)。

我所追求的是每个(可见)QListWidgetItem相对于QListWidget.viewport().

到目前为止,我通过在 y 范围内行走来实现这一点,QListWidget.viewport().geometry()像素距离等于行高(这里:29 像素),将 aitemAt(0,y)应用于 theQListWidget并将 fount 项目附加到列表中,如果它们还没有在它。

代码就像:

这种方式对我来说似乎不是很优雅,因为它很慢并且执行冗余查询。

有没有更聪明的方法来找到所有的 y 坐标?

在此处输入图像描述

0 投票
2 回答
310 浏览

qt - 更改 QListWidget 中随机元素的属性

我在( )中有 5QProgressBar秒。如何访问第三个元素并更改其值 ex。( )QListWidgetui->listWidgetQProgressBarprogressBar->setValue(40)

0 投票
2 回答
3193 浏览

qt - QListWidget 禁用鼠标悬停高亮

我有一个 QListWidget 和几个 QListWidgetItems 只包含文本但具有不同的背景颜色。默认情况下,当我将鼠标悬停在项目上时,项目会以蓝色条突出显示。如何禁用突出显示?

我使用的代码

提前致谢。

spacer是带有当天名称的灰色项目

编辑:添加图片链接(截图工具工具隐藏鼠标,第 6 项突出显示)

0 投票
1 回答
266 浏览

c++ - 初始化指向 QListWidgetItem Qt 5.8 的指针

在我的程序中,我有一系列选项卡,每个选项卡上都有一个组合框和一个QListWidget. 根据组合框上的选择,QListWidget将被填充。

现在我想要实现的是用户在“可检查”列表小部件上为组合框中的给定选择选择一系列项目后按下“应用”按钮,我将读取列表中每个项目的布尔状态小部件通过使用指向QListWidgetItem列表小部件的指针

这是我的代码的一部分;

我的问题是,当我尝试QLsitWidgetItem在下一行初始化时;

Qt 返回以下错误;

/Users/Vino/Documents/My Stuff/Qt Projects/Fundemental Analysis/FundementalAnalysis/mainwindow.cpp:389: error: invalid use of non-static data member 'inc_st_list' QListWidgetItem *listItem = new QListWidgetItem(iter.next(),Ui_MainWindow::inc_st_list); ~~~~~~~~~~~~~~~^~~~~~~~~~~

如何初始化QListWidgetItem指针以指向表单上的特定 listWidget?