【发布时间】:2016-02-17 11:35:15
【问题描述】:
QML JumpList 的最小工作示例(如果在 c++ 中使用 QWinJumpList,则行为相同)。
import QtQuick 2.3
import QtQuick.Window 2.2
import QtWinExtras 1.0
Window {
visible: true
JumpList {
JumpListCategory {
visible: true
title: "Test"
JumpListLink {
title: "Test Link"
executablePath: "http://google.com"
}
}
}
}
启动应用程序后,您可以在 Windows 任务栏中的应用程序上按鼠标右键并查看如下内容:
如果按到Test Link 菜单项,则应该打开带有http://google.com url 的默认浏览器,因为它在后台使用shell 执行。这在 Windows 7、8、8.1 中运行良好。
在 Windows 10 中,当您不手动将应用程序固定到任务栏时,这不起作用。完成此操作后,链接正常工作。
为什么会这样以及如何解决?
更新 1:在 Windows 10 上使用 Qt 5.5、5.5.1、5.6 和 master 分支测试了这种奇怪的行为 - 开发版,首次发布的家庭版,最终的家庭版,专业版。结果是一样的 - 不工作。此外,例如,chrome 使用自定义列表(site 部分)并且无需固定即可正常工作。
更新 2:这是我的 qt 错误 QTBUG-49486 和它相关的 QTBUG-48751。但问题是现在 Qt 开发人员也不知道如何解决这个问题。
【问题讨论】:
-
这似乎是Windows 10早期版本的错误。neowin.net/news/…
-
今天我用我们的开发人员站来检查 Windows 10 的早期和最终版本。但仍然很有趣,为什么 Skype 或 chrome 跳转列表可以在没有固定的情况下正常工作。
-
Windows 10 的早期版本(开发版,首次发布的家庭版)和最终版(家庭版,专业版)的结果相同 :(
-
Qt 5.6 似乎是一个解决方案:wiki.qt.io/New_Features_in_Qt_5.6 桌面平台 Windows 10 完全支持(经典和 WinRT 应用程序)
-
只需使用他们主分支的 Qt 5.6 测试它。相同的行为。
标签: c++ windows qt qml taskbar