我有兴趣在Qt学习我自己的小gui设计师用于学习目的。只需从左侧面板进行基本拖放即可控制,可以选择,移动,调整大小并更改其属性(名称等)并最终(如果选择)排列在右侧面板上。
我会使用QGraphicsScene作为正确的面板,因为它已经实现了选择和移动。但是我该如何实现调整大小?然后我将如何在相同位置生成带有控件的QWidget类?或者有更简单的方法吗?
实施所有这些的最佳方法是什么?欢迎提出所有建议,并记住它不会像Qt设计师那样复杂。
答案 0 :(得分:0)
您需要定义一些小部件,这些小部件将从左侧面板拖动 - 可以是带有图标的树形视图 - 并放到场景中。
这些小部件应该继承自QGraphicsWidget
。您还可以继承QWidget
并通过QGraphicsProxyWidget
将小部件放入场景中。可以通过突出显示角落和重载鼠标事件来调整它们的大小。请查看corner grabbers和sizable box示例。另请查看QSizeGrip
。这是任何QStatusBar
的调整大小。
属性面板是最简单的,您应该列出所单击项目的属性。为了排队,您可以重新发明轮子并编写布局制作器类,或者只使用QGraphicsLayout
并突出显示界面上的布局。 Ctrl +左键单击应该选择多个小部件,布局按钮应该以编程方式布局它们,并且应该绘制一个边界矩形项。