gpt4 book ai didi

c++ - gui设计器的实现

转载 作者:太空宇宙 更新时间:2023-11-04 13:54:08 24 4
gpt4 key购买 nike

我有兴趣制作自己的小型图形用户界面设计器,用于 Qt 中的学习目的。只需简单地从具有控件的左侧面板拖放到右侧面板,在右侧面板上可以选择它们、移动它们、调整它们的大小并更改它们的属性(名称等),并最终(如果选择的话)排列起来。

我会使用 QGraphicsScene 作为右侧面板,因为它已经实现了选择和移动。但是我将如何实现调整大小?然后我将如何生成一个在相同位置有控件的 QWidget 类?或者有更简单的方法吗?

实现所有这些的最佳方式是什么?欢迎所有建议,请记住它不会像 Qt 设计器那样复杂。

最佳答案

您需要定义一些小部件,这些小部件将从左侧面板(可能是带有图标的 TreeView )拖放到场景中。

这些小部件应该继承自QGraphicsWidget。也可以继承QWidget,通过QGraphicsProxyWidget将widget放入场景。可以通过突出显示角和重载鼠标事件来调整它们的大小。请查看corner grabberssizable box例子。另请查看 QSizeGrip。它是任何 QStatusBar 的调整大小控制点。

属性面板是最简单的,你应该列出被点击项目的属性。要排队,您可以重新发明轮子并编写一个layout maker 类,或者简单地使用QGraphicsLayout 并在您的界面上突出显示布局。 Ctrl+左键单击应该选择多个小部件,一个布局按钮应该以编程方式对它们进行布局,并且应该绘制一个边界矩形项目。

关于c++ - gui设计器的实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22254381/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com