我在QSystemTrayIcon::toolTip的QT5.8文档中看到:
此属性保存系统托盘条目的工具提示。 在某些系统中,工具提示的长度是有限的。如有必要,工具提示将被截断。
那么我想知道Windows 10的限制是什么。
我在关于工具提示控件上看到
注意,标准工具提示文本的最大长度为80个字符。有关更多信息,请参见
NMTTDISPINFO结构。多行工具提示文本可以更长。
然后,我有一个用Qt创建的多行工具提示,我看到在Windows 10中,最大长度是123个字符(或者如果他们计算换行符,比如~130)。
我的问题是:这是Windows 10中多行工具提示的最大长度(~130 char)吗?根据系统(如果应用程序运行在不同的操作系统上),我可以从Qt获得这些信息吗?这样我就可以正确地更改工具提示文本了吗?
谢谢大家
发布于 2017-05-19 10:01:52
在Windows 2000及更高版本上,工具提示的最大长度为128个字符。这在非生物结构的MSDN中有记录。
szTip类型: TCHAR64 以空结尾的字符串,指定标准工具提示的文本。它最多可以有64个字符,包括终止空字符。 Windows 2000及更高版本的szTip最多可以有128个字符,包括终止空字符.。
关于可移植性,这是一个非常特定于系统的值,所以我认为您无法使用普通的Qt来获得它。例如,Linux中不同的windows管理器可能有不同的长度限制。
另一方面,为了完整起见,系统托盘气球中的文本长度更大(Windows 2000及更高版本,仅取自同一来源):
szInfo类型: TCHAR256 Windows 2000及更高版本。以空结尾的字符串,指定要在气球通知中显示的文本。它最多可以有256个字符,包括终止空字符,但应该限制为200个英文字符,以适应本地化。要从UI中删除气球通知,可以删除图标(使用NIM_DELETE)或在uFlags中设置NIF_INFO标志,并将szInfo设置为空字符串。
同样,标题的长度是:
szInfoTitle类型: TCHAR64 Windows 2000及更高版本。以空结尾的字符串,指定气球通知的标题。此标题以文本上方较大的字体显示。它最多可以有64个字符,包括终止空字符,但应该限制为48个英文字符,以适应本地化。dwInfoFlags类型: DWORD Windows 2000及更高版本。可设置为修改气球通知的行为和外观的标志。图标放置在标题的左边。如果szInfoTitle成员为零长度,则不显示图标.
https://stackoverflow.com/questions/44065248
复制相似问题