gui设计师的实施

时间:2014-03-07 15:38:53

标签: c++ qt user-interface designer

我有兴趣在Qt学习我自己的小gui设计师用于学习目的。只需从左侧面板进行基本拖放即可控制,可以选择,移动,调整大小并更改其属性(名称等)并最终(如果选择)排列在右侧面板上。

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

实施所有这些的最佳方法是什么?欢迎提出所有建议,并记住它不会像Qt设计师那样复杂。

1 个答案:

答案 0 :(得分:0)

您需要定义一些小部件,这些小部件将从左侧面板拖动 - 可以是带有图标的树形视图 - 并放到场景中。

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

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