问题标签 [pyqt]
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.
python - PyQt: event is not triggered, what's wrong with my code?
I'm a Python newbie and I'm trying to write a trivial app with an event handler that gets activated when an item in a custom QTreeWidget is clicked. For some reason it doesn't work. Since I'm only at the beginning of learning it, I can't figure out what I'm doing wrong. Here is the code:
My initial goal is to make MyTree.onClick() print something when I click a tree item (and have access to the clicked item in this handler).
python - PyQt:覆盖 QGraphicsView.drawItems
我需要自定义一个 QGraphicsView 的绘制过程,所以我重写了 drawItems 方法,如下所示:
其中self.graphicsview
是 QGraphicsView,并且self.drawer
是带有方法的自定义类drawItems
。
在这种方法中,我检查了一些标志来决定如何绘制每个项目,然后调用item.paint
,如下所示:
self.target
是 QGraphicsView 的 QGraphicsScene。
但是,一旦到达item.paint
,它就会跳出循环 - 没有任何错误。如果我在绘画周围放置条件,并为每种可能的 QGraphicsItem 类型粘贴应该执行的代码(通过查看 Qt git-sources),一切正常。
虽然不是一个很好的解决方案......而且我不明白它是如何跳出循环的?
python - 防止在应用程序脚本 API 中暴露 PyQt 的条款是否会关闭许可证中的漏洞?
我目前正在评估在商业应用程序中使用 PyQt,我很惊讶地发现 PyQt 商业许可证不允许您在应用程序的脚本 API 中公开任何 PyQt 库。从PyQt 网站:
与您的应用程序一起分发所需的 PyQt 模块和 QScintilla 库的权利,只要这些应用程序的用户自己不能直接访问 PyQt。否则,这些用户自己就会成为开发人员,并且需要他们自己的 PyQt 和 Qt 商业版本的副本。
这是因为如果他们被允许访问 PyQt,您实际上会在 PyQt 商业许可证中存在“漏洞”吗?我想,这个条款填补了这个漏洞。我想知道 GPL 和相关许可证中是否必须有类似的条款?否则,当然,您将能够在开源许可证下发布应用程序,该许可证本质上只不过是一个“外壳”应用程序,它允许人们“编写”其行为 - 所说的行为是创建第二个,非使用 GPL PyQt 绑定的 GPL 应用程序。
我毫不怀疑这个“漏洞”在 GPL 中得到了解决,它一定有很多有才华的律师用细齿梳来检查它。- 真的,我正在尝试更多地了解法律如何影响程序员的生活。GPL 和其他开源许可证似乎是一个不错的起点。
此外,在 LGPL 下发布的同一系统会不会有类似的问题?或者该许可证更宽松的性质是否意味着允许用户通过应用程序访问库时不会发生太多冲突?
qt - 我的代码中是否存在用于填充 QTreeView 的错误?
我正在使用 PyQt 4.4。
最好用一些图片来展示。所有节点都应该有从 0 到 99 的叶子。它们正在使用canFetchMore()
和增量加载fetchMore()
。但是由于某种我不知道的原因,这仅适用于根节点。(图片1)
如果我折叠并展开一个节点,它会加载额外的 10 个值。(图二、三)
也很奇怪,它加载了 10 个值,因为代码每次调用只加载 5 个fetchMore()
,这意味着在代码停止加载更多数据之前,它被调用了 2 次。
我写了一个小例子来演示这个问题,只需使用python test.py
.
http://snipt.org/lLh
有谁知道是什么导致了这个错误?
qt - 如何使用 QListWidget 响应内部拖放操作?
我有一个 Qt4 应用程序(使用 PyQt 绑定),其中包含一个QListWidget
,初始化如下:
我可以添加项目,这允许我拖放以重新排序列表。但是当列表被用户重新排序时,我如何获得通知?我尝试向dropMimeData(self, index, data, action)
该类添加一个方法,但它从未被调用。
python - 在旧式 python 类上使用属性会导致问题吗
很简单的问题。我已经在很多地方看到它在旧式类上使用属性不应该工作,但显然 Qt 类(通过 PyQt4)不是新式的,并且在我的代码中有一些属性正在使用(据我所知,代码没有显示任何问题)
我确实遇到了一个 pyqtProperty 函数,但我似乎找不到任何关于它的文档。在这种情况下它会是一个很好的选择吗?
qt - Qt QFileDialog 输入字段 - 像 shell 一样完整的选项卡
我有一个基本的 PyQt QFileDialog 文件浏览器,使用 Python,Kubuntu。
我的问题是我希望文件输入中的“tab键”在shell中充当tab-complete。
有没有办法做到这一点?
python - 使用 QNetworkAccessManager 进行 Qt HTTP 身份验证
我正在使用需要有效用户名/密码的网络服务。从 PyQt,我使用 QNetworkAccessManager 访问 web 服务,它发出
当(显然)需要身份验证时发出信号。当我为 QAuthenticator 填写用户和 psswd 时,一切正常。但是,当用户无效时,我看不到如何中断循环。
来自 authenticationRequired 的文档:
“如果它拒绝凭据,则将再次发出此信号。”
对于无效凭据,此信号会一次又一次地发出……查看回复中的错误代码显示为 0。应该如何破坏或处理此循环以使其因错误而终止?
python - 侧边栏的Qt QFileDialog QSizePolicy
使用 QFileDialog 我正在尝试更改 QFileDialog 中侧栏的大小。我希望它有更大的宽度。我正在查看 dir(QtGui.QFileDialog) ,它显示了过多的函数/方法,而 dir(QtGui.QSizePolicy) 似乎是正确的选择。不过,我无法操纵侧栏的大小。
返回 // sizePolicy:
它似乎平均了名称的长度以创建侧栏的宽度。有人知道解决这个问题的方法吗?大小策略返回一个 QSizePolicy 对象,但我不知道如何操作侧栏的大小。
谢谢!
python - 来自网络的 Qt 图像
我希望 PyQt 加载图像并从网络上显示它。我在网上找到的数十个示例都不起作用,因为它们用于下载图像。
我只是想查看它。
就像是