2017-04-05 109 views
0

我在主窗口上有Qlabel小部件(对象名称= label_2)。我在这个小部件上显示来自相机的实时信息。一切工作正常。然而,我想知道如何改变活饲料的方向(比如说我想把它翻转90°)。使用QCamera翻动活动饲料

QList<QCameraInfo> cameras = QCameraInfo::availableCameras(); 
foreach (const QCameraInfo &cameraInfo, cameras) 
{ 
    if (cameraInfo.deviceName() == "@device:pnp:\\\\?\\pci#ven_109e&dev_036e&subsys_00000000&rev_11#5&12a6b002&0&000008#{65e8773d-8f56-11d0-a3b9-00a0c9223196}\\global") 
    cM2 = new QCamera(cameraInfo, this); 
} 
cV2 = new QCameraViewfinder(this); 
cM2->setViewfinder(cV2); 
cBox2 = new QVBoxLayout(); 
cBox2->addWidget(cV2); 
ui->label_2->setLayout(cBox2); 
cM2->start(); 

回答

0

QCameraViewfinder不旋转,所以你可能会更好地使用QGraphicsVideoviewer服务。

喜欢的东西:

#include <QGraphicsVideoItem> 

videoItem = new QGraphicsVideoItem; 
videoItem->setSize(QSizeF(640, 480)); 

GraphicsScene *scene = new QGraphicsScene(this); 
QGraphicsView *graphicsView = new QGraphicsView(scene); 

scene->addItem(videoItem); 

cM2->setViewfinder(videoItem); 
videoItem->setTransform(QTransform().rotate(90)); 

cBox2->addWidget(graphicsView); 
+0

喜式Qcamera没有这个功能。你在哪里看到它的?可能是它的QImage! – sulabh

+0

https://doc.qt.io/qt-5/qt3drender-qcamera.html – lars

+0

感谢您提供链接。由于未知的原因,我不能包括这个#包括。这是因为在Qt3dRender中没有QCamera类。 – sulabh