This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
工具/软件:Linux
测试 qt 接口打开和关闭错误报告(附件中的示例):
在我浏览主窗口子窗口后关闭或隐藏子窗口时出现以下错误:
使用 Wayland-EGL
wlpvr:已初始化 PVR 服务
使用'xdg-shell-v5' shell 集成
意外的 WL_surface.enter 用于输出、ID 为:10屏幕名称:"未知"屏幕型号:""
意外的 WL_surface.enter 用于输出、ID 为:10屏幕名称:"未知"屏幕型号:""
意外的 WL_surface.enter 用于输出、ID 为:10屏幕名称:"未知"屏幕型号:""
意外的 WL_surface.enter 用于输出、ID 为:10屏幕名称:"未知"屏幕型号:""
意外的 WL_surface.enter 用于输出、ID 为:10屏幕名称:"未知"屏幕型号:""
2. 在使用 exec() 函数显示子窗口时,单击父窗口将返回焦点到父窗口,该窗口被父窗口覆盖(使用 waylan westion),
但 使用-platform linuxfb 或 eglfs 是正常的。
有关此函数的说明、请查看 qt 帮助文档:
int qDialog::exec()
将对话框显示为模式对话框,在用户关闭对话框之前将其阻止。 该函数返回 DialogCode 结果。
如果对话框是应用程序模式,则用户在关闭对话框之前不能与同一应用程序中的任何其他窗口进行交互。 如果对话框是窗口模式,则在对话框打开时,只会阻止与父窗口的交互。 默认情况下,对话框为应用程序模式。
您好 Krunal Bhargav34
我在运行 PLSDK 4.3.0.5并运行 Weston 1.11的情况下运行了应用程序、没有这样的错误、但还有另一个问题:
在 PLSDK 4.3.0.5 (运行 Weston 1.11)中的应用测试中,发现 F1弹出窗口后的子窗口快捷键无效,并且快捷键仅在使用鼠标单击子窗口后有效, 但该问题在 PLSDK 5中不存在
很抱歉、我需要这么长时间才能回复。 我在 PLSDK 4.3.0.5中运行了 qt5。 快捷键没有错误、但正如我说过的: 在 PLSDK 4.3.0.5 (运行 Weston 1.11)中的应用测试中,发现 F1弹出窗口后的子窗口快捷键无效,并且快捷键仅在使用 MOU 单击子窗口后才有效。
您可以使用我先前上传至附件的工程测试
谢谢你。 期待您的解决方案
您好、Krunal、
为了验证 X11 SDK Qt 是否存在相同的问题、我通过 PROCESSOR-SDK -04.01.00.06-x11-config.txt 构建了 x11的 SDK 以测试 qt。
测试结果如下:
在主窗口中、通过快捷键打开窗口、关闭或隐藏的子窗口并返回主窗口、此时在主窗口中、用于打开子窗口快捷方式的快捷键无法使用子窗口(顶部的子窗口)、 但您可以使用的快捷方式的主窗口,此问题导致我们无法使用窗口顶部的快捷键开关! 是否有解决此问题的方法?
附件 untitled-x11.zip 是我的测试项目(您可以直接在附件包中运行执行文件)
你好
但是、PSDK 5.0仍然无法解决我的第二个问题。 我应该怎么做? 如果无法使用 qt 的 QDialog:exec(),则我们项目的警告窗口将无法正常工作,并将导致许多操作问题。
具体的测试结果如下:使用 QDialog::exec()模式显示子窗口后,子窗口应位于顶层,鼠标无法操作父窗口。 但 PSDK5上的测试发现、鼠标单击父窗口将导致子窗口被父窗口覆盖、 导致子窗口无法运行。您可以使用-platform linuxfb 或 eglfs 来启动我的项目并将其与在 wayland 上运行的项目进行比较。对于 qt window 操作而言、此问题是致命的、因为无法操作 HMI。 如果您在测试方面需要我的帮助、请通过电子邮件通知我。
我的第二个问题:
2. 在使用 exec() 函数显示子窗口时,单击父窗口将返回焦点到父窗口,该窗口被父窗口覆盖(使用 waylan westion),
但 使用-platform linuxfb 或 eglfs 是正常的。
有关此函数的说明、请查看 qt 帮助文档:
int qDialog::exec()
将对话框显示为模式对话框,在用户关闭对话框之前将其阻止。 该函数返回 DialogCode 结果。
如果对话框是应用程序模式,则用户在关闭对话框之前不能与同一应用程序中的任何其他窗口进行交互。 如果对话框是窗口模式,则在对话框打开时,只会阻止与父窗口的交互。 默认情况下,对话框为应用程序模式。
您好、Qing、
您是否计划以全屏或窗口应用程序的形式运行 GUI? 当我们使用 linuxfb/eglfs 运行应用程序时,我们将使用全屏模式。 但是、Weston 充当窗口管理器、正在创建多个窗口、您可以使用鼠标在这些窗口之间切换。
此致、
Krunal
您好、Qing、
我已修改您的测试应用并启用全屏模式。 我已附上测试代码、如果您仍遇到问题、请告诉我。 e2e.ti.com/.../test_5F00_code.tar.gz
此致、
Krunal
大家好、
我理解您的意思。 您的意思是、如果 GUI 设置为全屏、我将不会遇到问题、但我们无法对某些 GUI 使用全屏。例如: QT 警告窗口和我们自己的 qt 数字软键盘无法全屏显示、因为它非常难看、我们的用户不接受。 您提供的方法无法解决我的问题,并且您的方法无法有效地显示 int QDialog::exec()的原始函数。
这是我为您的测试项目修改的代码。 我添加了一个警告窗口 test.e2e.ti.com/.../0160.test_5F00_code_5F00_v1.tar.gz
你好
我不这么认为。 PSDK 5.0以下的 PSDK 版本不存在此问题。
我认为这可能是 PSDK 驱动程序和航迹之间的对接问题、也可能是航迹版本问题。 我不知道 psdk5和 psdk4、psdk4或更低版本的 PSDK 驱动程序、我只想、Wayland 作为一个窗口系统、在运行 qt 时无法正确运行 qt 的原始功能、我认为这是不正确的。