【问题标题】:Why I cannot run a Qt Qml application on monitor with resolution 800x600?为什么我不能在分辨率为 800x600 的显示器上运行 Qt Qml 应用程序?
【发布时间】:2016-09-22 09:59:11
【问题描述】:

当我将分辨率设置为 800x600 时,我的应用程序崩溃并出现以下错误:

QXcbConnection: XCB error: 2 (BadValue), sequence: 460, resource id: 0, major code: 1 (CreateWindow), minor code: 0
QXcbConnection: XCB error: 3 (BadWindow), sequence: 461, resource id: 37748745, major code: 2 (ChangeWindowAttributes), minor code: 0
QXcbConnection: XCB error: 3 (BadWindow), sequence: 462, resource id: 37748745, major code: 18 (ChangeProperty), minor code: 0
QXcbConnection: XCB error: 3 (BadWindow), sequence: 463, resource id: 37748745, major code: 18 (ChangeProperty), minor code: 0
QXcbConnection: XCB error: 3 (BadWindow), sequence: 464, resource id: 37748745, major code: 18 (ChangeProperty), minor code: 0
etc.

但是,当我在分辨率为 1920x1080(或任何其他大于或等于 1024x768)分辨率的显示器上运行 Qml 应用程序时,该应用程序工作正常。

  • 系统:Archlinux 4.7.4-1-ARCH x86_64 GNU/Linux
  • Qt:QMake 版本 3.0 使用 Qt 版本 5.7.0
  • libxcb:libxcb 1.12-1

这似乎是 Qt 错误或 xcb 库错误。

UPD:我在 bugreports.qt.io 中创建了 a bug report

此效果仅适用于 Qt Quick Controls 2 应用程序

【问题讨论】:

    标签: linux qt opengl qml xcb


    【解决方案1】:

    如果删除下一行代码(在 main.cpp 中),此效果不会重现:

    QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
    

    【讨论】:

    • @kuanyui ,Qt中的bug,你可以在bug report看到细节。
    猜你喜欢
    • 1970-01-01
    • 2014-01-30
    • 1970-01-01
    • 1970-01-01
    • 2020-01-21
    • 2014-05-24
    • 1970-01-01
    • 2023-02-21
    • 1970-01-01
    相关资源
    最近更新 更多