【问题标题】:How to duplicate a widget in second window如何在第二个窗口中复制小部件
【发布时间】:2021-12-25 18:17:31
【问题描述】:

我需要执行以下操作:假设我在窗口上打开了一个小部件(作为 QWidget)。该小部件包括一些情节。我还有第二个窗口(作为 QMainWindow),我在其中交互地对该图进行处理:移动它并调整它的大小。我想要的是创建第三个窗口,该窗口实时显示与第一个窗口(带有绘图的窗口)相同的 exact 内容。我怎么能继续这样做?

我为什么要这个?第一个窗口将被隐藏,我想要第三个窗口,以便检查第一个窗口是否发生了正确的事情。

【问题讨论】:

  • 你的问题看起来很有趣,但有点困惑。例如,为什么第一个窗口是隐藏的?它会在某个时间显示吗?如果是这样,为什么?如果我正确理解您的要求,您可能正在寻找某种“验证”,但在这种情况下,拥有 2 个“重复”小部件不仅是不必要的,而且在逻辑和性能方面也是错误的:你需要 visible 小部件作为您的主要“控制”小部件,并且只有在“相关事情”完成后,您才会根据已修改的内容生成“实际”图已应用。
  • 是的,“隐藏”屏幕有点奇怪,但它应该是一个微米大小的二维像素阵列,每个像素都有一个与之相关的电压。但是该阵列用作第二个 d 屏幕。这就是它“隐藏”的原因,就像“我看不到它”一样。这有帮助吗?
  • 所以第一个窗口将转到第二个屏幕,我将把它全屏并控制窗口内的情节。我希望第三个窗口将隐藏的窗口复制为验证工具
  • 对不起,但是,不,它没有多大帮助。我建议您花点时间创建一个合适的minimal reproducible example(它必须最小并且可重现,并且可能需要很多 时间去做,但是,相信我,这是值得的),并做更多的努力来澄清你想要实现的目标。我相信您可能有XY problem,因为您可能需要以不需要“复制”小部件(或绘图)的其他方式考虑验证实现,因为根据您的描述,它似乎没有必要.
  • 您希望第三个“验证”窗口是完全交互的,还是主要是视觉显示,比如放大镜工具之一?我想这些必须通过在第二个窗口中不断更新屏幕抓取并复制相对鼠标光标位置来工作。这对您的目的是否足够好?如果还需要,它可能会允许一定数量的交互。

标签: python pyqt pyqt5


【解决方案1】:

无法复制小部件。最接近的是创建 2 个小部件,在其中一个小部件中,您必须跟踪更改并将它们应用到第二个小部件(反之亦然)。这项任务并不容易,所以我建议您只跟踪一些特征。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-12
    • 1970-01-01
    相关资源
    最近更新 更多