为什么Qt QColor是QtGUI的一部分 - 可能的解决方法?

qdo*_*dot 5 qt qtgui

我正在构建一个应用程序的命令行版本,该应用程序利用QColor进行颜色数据的跨平台处理.

出于某种原因,这个数据类型是QtGUI的一部分,即使它与Widgets没有任何关系 - 没有链接GUI的任何方式来获得这个类?

Mar*_*ett 3

可能是因为它包含了 QPainter 类中用于绘制颜色的所有钩子。是的,在完美的设计中,可以将所有这些抽象出来,但 Qt 主要是一个 GUI 库,时间就是金钱。

但由于它是开源的,您只需复制 Qcolor .h/.cpp 并自行修改它们即可。如果您只需要颜色空间转换例程,您可能只需使用 .h

注意:Qt 是 LGPL,因此必须向您的应用程序的任何用户提供对 Qt 代码(但不是您自己的应用程序)的任何修改的源代码。