问题标签 [pyside2]

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 投票
0 回答
489 浏览

python - pyside2uic.编译器导入错误

使用 pyside2uic 我得到这个错误:

操作系统:Centos 7.4.1708

0 投票
1 回答
729 浏览

python - 强制 QItemDelegate 重绘

我目前正在尝试让自定义委托通过外部按钮更改它正在绘制的颜色。我目前让它在按钮的意义上工作会改变代表绘制的颜色,但代表不会在按下按钮时更新,而是在我将鼠标移到关联的查看器上时更新。

我为颜色目的制作了一个自定义按钮(非常简单)

然后我将颜色按钮的pressed() 信号连接到我的委托的updateBG 函数。

委托的 updateBG() 函数只是更新自身内部的颜色变量。

我有paint()函数在绘制矩形时只使用这种颜色。

有没有办法强制代表重新绘制?update() 和 repaint() 函数都不适用于委托本身。我是否必须在查看器(即 QListView)上调用 repaint()?如果这是唯一的方法,有没有办法从代表内部获得观众?还是应该将此 updateBG() 函数移到委托类之外?

我正在通过 QT.py 使用 QT5(实际上是 pyside2 或 PyQt5)。

0 投票
1 回答
654 浏览

python-3.x - 从场景中删除或隐藏 QEntity 的最简单方法

我想解决Qt5 / Qt3D中的问题。用户按下一个按钮,然后一些按钮QEntity消失(被删除或隐藏)。that QEntity's object 是根实体的子对象。使用PythonPySide2实现它的最简单方法是什么?

0 投票
0 回答
515 浏览

python - PySide2向QML发出带有命名参数的信号的方式是什么

在 PyQt5 中,你会这样做:

然后在 QML 中:


仅使用 PySide2 信号不起作用:

错误:

0 投票
0 回答
101 浏览

python - Python 2.7 / PySide2:使 QGraphicsPathItem 可选择而不显示“选择框”?

我有一个问题,我找不到任何解决方案。我有一个继承自 QGraphicsPathItem 和 QGraphicsItem 的自定义 QGraphicsPathItem 类,因此可以选择它。选择部分完美运行,但我的问题是选择时出现“选择框”

这很烦人,我找不到摆脱它的解决方案。我希望用户看到边缘是通过自定义绘制方法来选择的,而不是通过拥有这个东西。顺便说一句,我想说我视图中的所有其他 QGraphicsItems 在选择时都不是那样的......

有人有想法吗?

0 投票
1 回答
533 浏览

python-3.x - 如何从世界坐标获取屏幕(小部件)坐标

假设我有一个实体的全局(世界)坐标vQVector3D)。然后我进行坐标变换:

whereprojectionMatrix()viewMatrix()areQMatrix4x4实例。我实际上得到了什么,这与小部件坐标有什么关系?

0 投票
1 回答
538 浏览

python - 如何在 PySide2 中检查 gui 与命令行模式?

在我的 PySide2 代码中,我需要检查程序是否以 gui 模式或命令行运行。在 PySide 我曾经这样做:

但是,根据http://doc.qt.io/qt-5/sourcebreaks.html

QCoreApplication::Type 和 QApplication::type() 被移除。这些 Qt 3 遗留应用程序类型与 Qt 5 中可用的应用程序类型不匹配。改用 qobject_cast 来动态找出确切的应用程序类型。

我的 PySide 程序在主机应用程序中运行,所以我自己没有创建 QCoreApplication 实例,我只需要检查主机应用程序是否处于批处理模式(非 GUI),以避免一些问题。

我现在的问题是如何使用qobject_cast在 PySide2 中实现相同的功能?文档中的C++ 示例并没有告诉我如何使用 Python 进行此操作。

有人可以提供一个例子或建议其他方法来实现同样的事情吗?

0 投票
1 回答
3652 浏览

python - 如何在 PySide2 应用程序中嵌入 matplotlib 画布

我正在尝试将 matplotlib 画布嵌入到 PySide2 应用程序中。我曾尝试使用此示例:https ://matplotlib.org/examples/user_interfaces/embedding_in_qt5.html

该示例使用 PyQt5 运行良好。但是,如果我将第 19 行从

进入

然后 Python 崩溃并显示消息

致命的 Python 错误:释放无

一旦应用程序窗口关闭。有没有办法使用 PySide2 让它正常工作?

0 投票
1 回答
1789 浏览

user-interface - Pyside - QGridLayout addStretch 选项?

我有一个需要向上推小部件的布局。我知道我能做到

addStretch 会将所有小部件推到顶部。但是,我使用的布局是 QGridLayout 并且 .addSretch() 不适用于网格布局。如何填充窗口底部的所有空白空间并使用网格布局将所有小部件推到顶部?

0 投票
0 回答
284 浏览

python - 如何在 PySide2 中正确管理列表项生命周期:RuntimeError:内部 C++ 对象 (PySide2.QtCore.QAbstractItemModel) 已删除

我正在尝试将一些代码从 PyQt5 移植到 PySide2。我遇到了 TreeWidget 的一些对象生命周期问题。我显然不明白一些事情。当我尝试从模型中访问树中选定项目的数据时,我收到“内部 C++ 对象已删除错误” - 但据我所知,我已确保我对项目数据有当前引用范围。

下面的测试用例演示了这个问题。当用户从树中选择项目然后单击按钮时,会报告以下错误:

显然有些东西超出了范围,但我看不到在哪里。

我如何防止模型中的项目被删除?

环境:Linux Python 3.5 conda PySide 5.6.0a1 qt 5.6.2

更新:我检查了最新的 PySide2 (5.11a1) 开发版本中是否发生了同样的问题,并提出了错误报告PYSIDE-639