如何制作 Block builder \拖放布局程序?

How to make a Block builder \drag and drop layout program?

我是 GUI 编程的新手,我想创建一个具有模块的程序,并允许其用户通过拖放将这些模块连接在一起,然后以可视方式将它们连接在一起,以便创建一个模拟结构。

市场上已有的示例软件: Proteus , EV3 乐高软件 , matlab simulink

我打算将 glade 与 gtkmm 一起使用,尽管我在该主题上发现的只是拖放教程,它不是很有用

我真的只需要指南以及从哪里开始学习如何制作我的项目

谢谢

我不知道有任何 GTK+ 或 gtkmm API 会有很大帮助,尽管我希望存在一些适当的高级内容。我实现了一些非常相似的东西,用于设计数据库 table 图:

http://www.murrayc.com/permalink/2007/02/17/glom-relationships-overview/

以及设计数据库记录的打印布局。 我通过 goocanvasmm 使用 GooCanvas,但必须实现几个 类 以提供通用功能,例如拖动移动、拖动角调整大小、对齐网格、对齐线等。我的代码有效,但我对此并不感到自豪:

https://git.gnome.org/browse/glom/tree/glom/utility_widgets/canvas

Glade 对此帮不上什么忙。它用于布置普通小部件,而不是用于实现像这样的专用 UI​​。