我即将开始为模块化合成应用程序(如 Alsa Modular Synth、Pure Data、Ingen)编写一个 GUI,该应用程序将用于补丁(声音)编辑。
我需要做的是这样的:
(来源:drobilla.net)
(来源:mcgill.ca)
所以,基本上,这是一个我可以绘制一些矩形(框)的区域,这些矩形(框)代表带有输入和输出端口的合成器模块,我可以用电线连接它们。
问题是我无法弄清楚两个如何为编辑区域创建一个小部件:使用简单的 2D 绘图上下文手动绘制框似乎是这样做的唯一合乎逻辑的方法,但这样做我失去了所有qt 给我的很棒的事件管理。
我想知道是否有可能创建一个自定义布局,它只需要创建“框”的坐标并将它们放在屏幕上,以便我将框实现为 QWidget 的子类(并重用 qt 的事件处理系统),然后我添加他们像往常一样走到窗前。
或者也许有更好的方法?
谢谢