首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Windows中的QSystemTrayIcon工具提示最大长度是哪个?

问Windows中的QSystemTrayIcon工具提示最大长度是哪个?
EN

Stack Overflow用户
提问于 2017-05-19 08:38:17
回答 1查看 680关注 0票数 4

我在QSystemTrayIcon::toolTip的QT5.8文档中看到:

此属性保存系统托盘条目的工具提示。 在某些系统中,工具提示的长度是有限的。如有必要,工具提示将被截断。

那么我想知道Windows 10的限制是什么。

我在关于工具提示控件上看到

注意,标准工具提示文本的最大长度为80个字符。有关更多信息,请参见NMTTDISPINFO结构。多行工具提示文本可以更长。

然后,我有一个用Qt创建的多行工具提示,我看到在Windows 10中,最大长度是123个字符(或者如果他们计算换行符,比如~130)。

我的问题是:这是Windows 10中多行工具提示的最大长度(~130 char)吗?根据系统(如果应用程序运行在不同的操作系统上),我可以从Qt获得这些信息吗?这样我就可以正确地更改工具提示文本了吗?

谢谢大家

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 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成员为零长度,则不显示图标.

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44065248

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档