首页 > 解决方案 > Qt Embedded:使用 QGraphicsView 和 QGraphicsWidget 在两个屏幕上显示

问题描述

我正在使用嵌入式 QT 4.8。小部件基于 QGraphicsView 和 QGraphicsWidget。需要控制两个显示器。

到目前为止,我能够找到有关如何使用 QDesktopWidget(即 QWidget)控制两个显示器的建议。我认为必须有一种方法可以通过 QGraphicsWidget 使用两个帧缓冲区来控制两个屏幕。

有人可以给我一个参考,例如如何使用 QGraphicsView 和 QGraphicsWidget 以及两个帧缓冲区在两个屏幕上绘画?

谢谢,杜桑·穆德里克。

标签: qtscreenqgraphicsviewqgraphicswidget

解决方案


尝试这个。我没有 2 个屏幕,所以我无法测试

int main(int argc, char *argv[])
{
  QGuiApplication app(argc, argv);
  QQuickView view1(QUrl(QStringLiteral("qrc:/Screen1.qml")));
  qDebug() << app.screens().length();

  QScreen* screen1 = app.screens().at(0);
  QScreen* screen2 = app.screens().at(1);

  view1.setGeometry(0,0,200,200);
  view1.setScreen(screen1);
  view1.show();

  QQuickView view2(QUrl(QStringLiteral("qrc:/Screen2.qml")));
  view2.setGeometry(0,0,200,200);
  view2.setScreen(screen2);
  view2.show();

  return app.exec();
}

查看不相关但类似的问题 Multiple Screens with Qt


推荐阅读