题
我想用Qt开启图形库,但我找不到任何文档。我只是想让GUI连接到Qt并使用Cairo在Qt窗口中绘制图形。
感谢。
解决方案
cairo的最新版本通过允许绘制到使用 cairo_qt_surface_create(QPainter * painter)
创建的表面来支持Qt:您可以检查相关的头文件这里。没有文档,因为此功能仍然是实验性的并且默认情况下已禁用(您应该自己编译cairo,使用 configure --enable-qt
显式启用Qt支持。
其他提示
Qt的Paint System 是一个非常好的绘图库,< strong>是基于矢量。它已经存在了。如果您选择Qt作为GUI工具包,它将变得更容易。
警告 :这不是您正在寻找的答案。
你确定要这个吗?到底是什么?这是关于写一个基于开罗的 QPaintDevice
吗? Qt有自己的图形基元,Cairo也是如此。我能看到的唯一原因是你不希望Qt的重层干扰你的系统(嵌入式?)。这就像你正在尝试使用开罗的DirectFB后端 - 但是之后就有像Qt-on-DirectFB这样的东西。然而,请注意这样的实现是昂贵的,并且如果没有自己的夸克集,例如库互操作问题,从这个基于开罗的上下文打印等,则不是免费的。我建议你定期搜索谷歌以确定这些努力是否是/在尝试相同的事情之前,我们一直在进行并权衡利弊。 可以通过这种肮脏的方式来实现:
- 创建一个cairo图像表面,在该表面上绘制。
- 调用cairo_image_surface_get_data()获取像素。
- 将图像复制到Qt小部件。 醇>
不隶属于 StackOverflow