【问题标题】:How to use QGraphicsScene in console application?如何在控制台应用程序中使用 QGraphicsScene?
【发布时间】:2015-02-05 07:32:20
【问题描述】:

根据 Qt 规范 QGraphicsScene 是无视图的 QGraphicsItems 的数据模型。 我有一个可以在窗口和非窗口模式下使用的工具 (当为它提供命令行参数时)。 在非窗口模式下,它应该作为控制台应用程序运行 (例如,不连接到 X 左右)。 但是,要么我将应用程序用作 QCoreApplication (qt5) 要么 我在 QApplication my 中将 guienabled 标志(qt4)设置为 false 应用程序(显然?)在尝试实例化时崩溃 QGraphicsScene 对象。

知道如何在控制台应用程序中使用 QGraphicsScene(除了 “不,你不能”)? 谢谢,

【问题讨论】:

  • 赞成我,起初我认为这是一个愚蠢的问题,因为 QGraphicsScene 在小部件库中,所以我认为它必须需要 QPainter - 但 API 或文档中没有任何说明它必须能够渲染任何东西。您的调试器在崩溃时会说什么?
  • 这已被报告为错误并关闭:bugreports.qt.io/browse/QTBUG-22610
  • 这篇文章也很相似:stackoverflow.com/questions/7929981/…
  • @cmannett85 我同意这一点,但是你会在 cli 应用程序中使用 scene 做什么?
  • 我不是说“不,你不能。”也许你可以,我不知道。但有什么意义呢?这是一个图形场景。没有任何图形是没用的。

标签: qt console-application qgraphicsscene


【解决方案1】:

如果有人对此感兴趣,Qt5 中有解决方案。 在实例化 QApplication 之前放这个

qputenv("QT_QPA_PLATFORM", QByteArrayLiteral("minimal"));

【讨论】:

    猜你喜欢
    • 2010-11-05
    • 2021-06-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-30
    • 2019-07-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多