c++ - Qt4 模块化合成器编辑小部件

标签 c++ user-interface open-source qt4 synthesizer

我即将开始为将用于音色(声音)编辑的模块化合成应用程序(如 Alsa Modular Synth、Pure Data、Ingen)编写 GUI。

我需要做的是这样的:

Ingen
(来源:drobilla.net)

Pure Data

hallseymrk1?
(来源:mcgill.ca)

所以,基本上,这是一个区域,我可以在其中绘制一些矩形(框),这些矩形(框)代表具有输入和输出端口的合成器模块,我可以用电线连接这些端口。

问题是我无法弄清楚两个如何为编辑区域创建一个小部件:使用一个简单的 2D 绘图上下文,我在其中手动绘制框似乎是唯一合乎逻辑的方法,但这样做我放弃 qt 给我的所有重要事件管理。

我想知道是否有可能创建一个自定义布局,它只需获取创建的“框”的坐标并将它们放在屏幕上,以便我将这些框实现为 QWidget 的子类(并重用 qt 的事件处理系统)然后像往常一样将它们添加到窗口中。

或者也许有更好的方法?

谢谢

最佳答案

看看 QGraphicsScene 和 QGraphicsView。 这样你就可以创建一个充满项目的场景。 每个项目都可以接收鼠标事件,您可以手动绘制它。

关于c++ - Qt4 模块化合成器编辑小部件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1487318/

相关文章:

c++ - 重载 QDebug::operator<< 时出现段错误

java Gui 转入 Intellij

mysql - 将mysql数据库导入pspp?

open-source - GNU 通用公共(public)许可证 (v2) : can a company use the licensed software for free?

iphone - 将 iPhone 应用程序的开源信用信息放在哪里?

c++ - Travis CI 找不到头文件

c++ - 不支持成员聚合初始值设定项列表?

c++ - OpenGL Basic IBO/VBO 不工作

user-interface - FranTK 安装

python - Matplotlib 崩溃 tkinter 应用程序