使用 Python 为 Qt Designer 自定义 Qt 小部件
Posted
技术标签:
【中文标题】使用 Python 为 Qt Designer 自定义 Qt 小部件【英文标题】:Custom Qt Widgets with python for Qt Designer 【发布时间】:2013-04-16 06:28:22 【问题描述】:我正在尝试仅使用 Python 为 Qt Designer 编写自定义小部件。我正在关注我在网上找到的几个教程,但它们都没有工作或任何接近我称之为最低工作示例的东西。
所以我的问题是:
-
使自定义小部件出现在 Qt Designer 的小部件框中涉及哪些步骤?
如果您能抽出时间:请提供一个最小的工作示例(例如一个带有标签的小部件,上面写着“一个真正最小的工作 Qt 自定义小部件示例”)。
或者是否根本不可能包含仅使用 python 的自定义小部件?
【问题讨论】:
【参考方案1】:关于如何在 pyqt 中制作自定义小部件的示例很少。我用一个工作示例写了这篇文章:Making a Custom Widget in PyQt
【讨论】:
感谢您的这篇文章,但不幸的是,这不回答了我的问题。我正在寻找一个显示在设计器本身中的自定义小部件,而无需在某些代码中“手动”添加它。 您能否详细说明一个示例,在您的问题中您说“如何使自定义小部件出现在其他小部件框中”,这就是我在我的博客上为您写的帖子所做的,无论如何,用一个例子详细说明你的问题,会尽力帮助你。 我说的是 Qt Designer (link) 的 Widget Box。小部件框列出了所有常见的小部件,如按钮、列表等。我希望我的自定义小部件显示在该框中,以便我可以在 Qt 设计器中添加和使用我的自定义小部件。【参考方案2】:这是您的问题 #3 的答案:How do I use promote to in Qt Designer in pyqt4?
我正在使用 PySide,它的工作方式相同。此方法直接适用于您的 Python 自定义小部件代码。您不需要编写任何单独的插件代码。
提升自定义小部件后,您可以右键单击它并使用“更改信号/插槽...”添加您的信号
我建议将所有小部件放在 YourCostumWidgetsPack.UI 文件中,然后当您在 Qt Designer 中加载此文件时,除了您正在工作的 UI 之外。它将加载您所有的自定义小部件信息。
【讨论】:
【参考方案3】:我发现这篇文章是你的答案:https://doc.qt.io/archives/qq/qq26-pyqtdesigner.html
但是,我无法在 Qt Designer 中安装它:D
【讨论】:
很好,我现在正在使用 Qt。但这绝对回答了我的问题!谢谢你这么晚的回复! 太棒了!只需将其安装在 Qt Designer 中:只需确保将自定义小部件的路径添加到环境变量 PYTHONPATH 和 PYQTDESIGNERPATH 中。而且,我认为我们必须使用 PyQt 提供的 Qt 设计器。我使用 Qt C++ 发行版中的 Qt Designer 对其进行了测试,它不会显示我的自定义 python qt 小部件。 您的链接已损坏,说明为什么您应该始终总结链接的内容,并将其包含在内以供参考。 嗯,请原谅。会注意到这一点 该答案不再有效,链接已损坏。以上是关于使用 Python 为 Qt Designer 自定义 Qt 小部件的主要内容,如果未能解决你的问题,请参考以下文章