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/processor-SDK-AM335X:测试 ti-processor- SDK -linux-rt-AM335x-evm-05.01.00.11的 qt5问题

Guru**** 2036780 points
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/743489/linux-processor-sdk-am335x-test-the-qt5-problem-of-ti-processor--sdk--linux-rt-am335x-evm-05-01-00-11

器件型号:PROCESSOR-SDK-AM335X

工具/软件: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 结果。
如果对话框是应用程序模式,则用户在关闭对话框之前不能与同一应用程序中的任何其他窗口进行交互。 如果对话框是窗口模式,则在对话框打开时,只会阻止与父窗口的交互。 默认情况下,对话框为应用程序模式。

附件是我的 teste2e.ti.com/.../3324.untitled.tar.gz 的一个示例

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Qing、

    我已联系我们的 QT 专家、我将随时向您发布任何更新。

    此致、
    Krunal
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Qing、

    您能否在运行 Weston 1.11的 PLSDK 4.3.0.5中运行您的应用? 如果您遇到相同的错误、请告诉我。

    此致、
    Krunal
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Krunal Bhargav34
    我在运行 PLSDK 4.3.0.5并运行 Weston 1.11的情况下运行了应用程序、没有这样的错误、但还有另一个问题:
    在 PLSDK   4.3.0.5 (运行 Weston 1.11)中的应用测试中,发现 F1弹出窗口后的子窗口快捷键无效,并且快捷键仅在使用鼠标单击子窗口后有效, 但该问题在 PLSDK 5中不存在

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Qing、

    很抱歉回复延迟、但我上周不上班。 您的快捷键是否仍然出现错误?

    此致、
    Krunal
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    很抱歉、我需要这么长时间才能回复。 我在 PLSDK 4.3.0.5中运行了 qt5。 快捷键没有错误、但正如我说过的:  在 PLSDK   4.3.0.5 (运行 Weston 1.11)中的应用测试中,发现 F1弹出窗口后的子窗口快捷键无效,并且快捷键仅在使用 MOU 单击子窗口后才有效。

    您可以使用我先前上传至附件的工程测试

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Qing、

    我能够复制您的错误、目前我正在与我们的开发人员合作、为您的问题找到可能的解决方案。 我会随时向您发布任何更新。

    此致、
    Krunal
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    谢谢你。 期待您的解决方案

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Krunal、

    为了验证 X11 SDK Qt 是否存在相同的问题、我通过 PROCESSOR-SDK -04.01.00.06-x11-config.txt 构建了 x11的 SDK 以测试 qt。

    测试结果如下:

    在主窗口中、通过快捷键打开窗口、关闭或隐藏的子窗口并返回主窗口、此时在主窗口中、用于打开子窗口快捷方式的快捷键无法使用子窗口(顶部的子窗口)、 但您可以使用的快捷方式的主窗口,此问题导致我们无法使用窗口顶部的快捷键开关!  是否有解决此问题的方法?

    附件 untitled-x11.zip 是我的测试项目(您可以直接在附件包中运行执行文件)

    e2e.ti.com/.../untitled_2D00_x11.zip

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Qing、

    由于上周美国假期、开发人员没有机会查看您的问题。 我将在本周结束前为您提供更多更新。

    此致、
    Krunal
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Qing、

    根据我与开发人员的讨论、PSDK 5.0可更好地与您的应用配合使用、Weston 2.0的行为与 qwindow-compositor 相同。 警告消息似乎是由 Wayland 2.0触发的。 此时、我们可以将其视为警告。

    此致、
    Krunal
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你好

    但是、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

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Qing、

    根据我的理解、激活子窗口后、您希望忽略鼠标/键盘事件。 关于函数"QDialog:exec"、您可以在 qt 表单上发布与 Qt 相关的问题:    

    此致、

    Krunal

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你好

    我不这么认为。 PSDK 5.0以下的 PSDK 版本不存在此问题。

    我认为这可能是 PSDK 驱动程序和航迹之间的对接问题、也可能是航迹版本问题。 我不知道 psdk5和 psdk4、psdk4或更低版本的 PSDK 驱动程序、我只想、Wayland 作为一个窗口系统、在运行 qt 时无法正确运行 qt 的原始功能、我认为这是不正确的。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我认为运行 qt 的-linuxfb 或 eglfs、"qDialog:exec"功能将正常工作、但 wayland 无法正常工作、我认为这不应该是 qt 问题
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Qing、

    我认为这似乎是 Wayland/Weston 的一个问题、因为我正在经历所报告的错误、并看到与您观察到的情况类似的东西。 以下是链接:    

    此致、

    Krunal

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Qing、

    我将关闭该主题、我将帮助您解决以下主题中的问题:

    此致、

    Krunal