我即将开始编写一个GUI用于模块化合成应用程序(如艾莎模块化合成器,纯数据,不收),其将用于补丁(声音)编辑。

我需要做的是这样的:

“不收” 结果 <子>(来源: drobilla.net

“纯数据”

“hallseymrk1?” 结果 <子>(来源: mcgill.ca

所以,基本上,它是在哪里可以得出一些矩形(框)是表示与输入和输出端口,我可以导线连接合成器模块的区域中。

的问题是,我无法弄清楚如何将两个为编辑区创建窗口小部件:使用,我得出框中手动似乎是这样做的唯一合乎逻辑的方式简单的2D绘图背景下,但这样做我宽松的所有伟大的事件管理是QT给我。

我不知道是否有创建一个自定义的布局,只是需要坐标创作的“盒子”,并把它们在屏幕上,让我实现了箱作为QWidget的子类(和重复使用Qt的事件处理系统)的可能性我将它们添加到作为我通常做的窗口。

或者,也许还有更好的办法吗?

感谢您

有帮助吗?

解决方案

看看QGraphicsScene和的QGraphicsView。 这样,您就能够创建充满了项目现场。 每个项目可以接收鼠标事件并且可以手动绘制它。

其他提示

可以创建从QLayout继承的自定义布局类和过载的add(QWidget的* w)的函数的坐标。

Personnally我使用的QGraphicsView和QGraphicsScene。你可以处理一些事件(如鼠标事件),并很容易地找到你的QGraphicsItem。

看一看Gephex源码上 http://www.gephex.org/download.php

他们已经建立Qt的这样的部件,虽然可能会有点旧代码(QT3)和应用特定的。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top