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

Posted

技术标签:

【中文标题】如何制作一个Block builder\\拖放布局程序?【英文标题】:How to make a Block builder \drag and drop layout program?如何制作一个Block builder\拖放布局程序? 【发布时间】:2016-02-20 20:32:03 【问题描述】:

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

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

我打算将 glade 与 gtkmm 一起使用,尽管我在该主题上找到的只是拖放教程,这没什么用

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

谢谢

【问题讨论】:

【参考方案1】:

我不知道有什么 GTK+ 或 gtkmm API 会有很大帮助,尽管我希望存在一些合适的高级别的 API。我已经实现了一些非常相似的东西,用于设计数据库表图:

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​​。

【讨论】:

感谢您的回复。你的程序代表了我需要做的一个例子,我可能只是去 goocanvas 上学习,但我注意到它有一些限制和不稳定,正如你网站上提到的那样。你知道我可以使用的其他 gui 环境还是你建议我继续使用画布? 这是一篇非常古老的博客文章,从 2007 年开始。我只是链接到它以获取屏幕截图。从那以后,我让它工作得很好。我可以推荐 Goocanvas,即使它没有提供我希望某些库提供的更高级别的用户交互。

以上是关于如何制作一个Block builder\拖放布局程序?的主要内容,如果未能解决你的问题,请参考以下文章

如何解决inline-block元素的空白间距

如何制作拖放jquery?

如何使用图像和文本制作自定义 UIButton?

JavaFX Scene Builder 拖放的 IntelliJ IDEA 插件停止工作

如何制作拖放式 HTML 文件阅读器

如何在Android中制作拖放按钮