Qt Designer / PyQt - 动态复制带有完整嵌入式小部件的选项卡小部件
Posted
技术标签:
【中文标题】Qt Designer / PyQt - 动态复制带有完整嵌入式小部件的选项卡小部件【英文标题】:Qt Designer / PyQt - dynamically duplicate a tab widget with embedded widgets intact 【发布时间】:2017-01-29 18:14:03 【问题描述】:我有 C# 经验,我正在制作我的第一个 Python 应用程序。我在 QT Designer 中完成了 UI 的一部分,很快我将尝试 PyQt 将它与我的代码集成。这是最佳方法的一般指导问题。
我有一个标签小部件,其中包含每个标签中的各种内容。我希望整个选项卡小部件可以使用加号按钮进行复制。所以基本上,滚动视图包含用户想要的尽可能多的这些选项卡小部件。用户可以将现有实例复制为新实例,或创建一个空白实例。
有人可以帮助我了解如何完成此操作吗?它是这样工作的吗?
-
创建滚动视图。
将标签小部件放在滚动视图中。
在标签小部件的角落添加重复和删除按钮。
在滚动视图外放置一个加号按钮。
通过python代码完成所有其余的?还是我会错过一些 Qt Designer 技巧?
任何关于如何在 QT Designer 中执行此操作以及在 PyQt 中编码的提示将不胜感激。
另外,也许题外话,但任何有关 PyQt 安装和使用的一般提示都会很好。 v5 不是 v4?我正在运行 Python 3.6 32 位,有人告诉我应该可以正常运行 3.5 包(但 64 位可能不行)。
谢谢,
【问题讨论】:
我会将 TabWidget 放在单独的.ui
文件中。这使您可以轻松地创建它的多个实例。
谢谢@GeorgSchölly,这听起来很完美。在修改我的 ui 文件之前,我将尝试一些测试。
【参考方案1】:
首先题外话:如果您开始一个新项目,请使用 PyQt5。 Qt 4 已结束生命周期,除非它是一个关键的安全修复程序,否则不会看到任何新版本。
至于您的大多数问题:如果您想使用 Designer,那么您应该首先查看 Qt Designer's documentation。它会让你很好地开始。
至于5,这取决于口味。出于各种原因,开发人员一直在使用这两种方法。这真的取决于您决定哪种风格最适合您的需求。设计器中没有你无法在代码中完成的技巧。
【讨论】:
PyQt4 可以针对 Qt 5 进行编译。但是您是对的,没有理由将 PyQt4 与 Python 3 一起使用。以上是关于Qt Designer / PyQt - 动态复制带有完整嵌入式小部件的选项卡小部件的主要内容,如果未能解决你的问题,请参考以下文章
如何在 PyQt 中为 Qt-Designer 小部件实现 MousePressEvent
Pycharm安装PyQt5和pyqt5-tools从而使用Qt Designer