【发布时间】:2011-11-16 20:19:56
【问题描述】:
我创建新应用程序并使用关闭、最大化和最小化按钮删除标题栏(只需将 windowFlags 设置为 Qt::CustomizeWindowHint)。我创建了自己的按钮。现在我必须搜索已删除按钮的图标,但我找不到它们(关闭、最小化、最大化)。
问题:我可以使用 Windows 7 图标吗?不违反许可证吗?
【问题讨论】:
我创建新应用程序并使用关闭、最大化和最小化按钮删除标题栏(只需将 windowFlags 设置为 Qt::CustomizeWindowHint)。我创建了自己的按钮。现在我必须搜索已删除按钮的图标,但我找不到它们(关闭、最小化、最大化)。
问题:我可以使用 Windows 7 图标吗?不违反许可证吗?
【问题讨论】:
您可以使用 Qt 的 QStyle 来获取 Qt 用来绘制自己的标题栏的图标等:
QStyle* style = QApplication::style();
QIcon icon = style->standardIcon( QStyle::SP_TitleBarCloseButton );
查看QStyle::StandartPixmap enum 以获取可用的 Qt 标准图标列表。
【讨论】:
将按钮作为位图图像分发,甚至嵌入到您的应用程序中很可能违反了 Windows 的 EULA。
但是,如果您的应用在 Windows 上运行,则无需分发它们。只需找到关闭、最小化和最大化按钮在 Windows 7 中的存储位置(可能是系统文件夹中的一些 DLL),然后当您的应用程序运行时,直接使用这些图标(我相信 QIcon 可以加载它们)。这样就不会侵犯版权。
【讨论】: