我在QSystemTrayIcon::toolTip
的Qt 5.8文档中读到:
此属性包含系统托盘条目的工具提示。
在某些系统上,工具提示的长度有限。工具提示将是 必要时会被截断。
然后我想知道Windows 10中的限制是什么。
注意标准工具提示文本的最大长度为80个字符。有关更多信息,请参阅
NMTTDISPINFO
结构。多行工具提示文本可以更长。
然后,我有一个使用Qt创建的多行工具提示,我看到在Windows 10中最大长度为123个字符(如果他们计算换行符,可能会多一点,比如说〜130)。
我的问题是:这是(~130 char)Windows 10中多行工具提示的最大长度吗?我是否可以从Qt获取此信息,具体取决于系统(如果应用程序在不同的操作系统上运行),以便我可以正确更改工具提示文本?
谢谢大家
答案 0 :(得分:2)
在Windows 2000及更高版本中,工具提示的最大长度为128个字符。这在MSDN中记录为NOTIFYICONDATA structure:
szTip
类型:TCHAR [64]
以空字符结尾的字符串,用于指定标准工具提示的文本。它最多可包含64个字符,包括终止空字符。
对于Windows 2000及更高版本,
szTip
最多可包含128个字符,包括终止空字符。
关于可移植性,这是一个非常系统特定的值,所以我不认为你可以使用普通Qt获得它。例如,Linux中的不同Windows管理器可能具有不同的长度限制。
另一方面,为了完整起见,系统托盘气球中文本的长度较大(仅限Windows 2000及更高版本,取自同一来源):
szInfoTitle
类型:TCHAR [64]
Windows 2000及更高版本。以null结尾的字符串,用于指定气球通知的标题。此标题在文本正上方以较大的字体显示。它最多可包含64个字符,包括终止空字符,但应限制为英文48个字符以适应本地化。
dwInfoFlags
输入:DWORD
Windows 2000及更高版本。可以设置的标志,用于修改气球通知的行为和外观。图标位于标题的左侧。如果
szInfoTitle
成员为零长度,则不显示图标。