Прозрачное наложение QWidget на gstreamer - видео - PullRequest
0 голосов
/ 15 декабря 2018

Я использую gstreamer-1.0 и накладываю видеопоток на QVideoWidget в Qt.Я хочу добавить прозрачную метку для показа на видео.Проблема заключается в том, что когда я добавляю метку в макет виджета, на котором я отображаю видео, и продолжаю постоянно обновлять метку, он либо: - появляется, но его фон является фоном окна, в котором отображается видео.Я имею в виду, что видео больше не отображается на фоне метки.(это когда ярлык обновляется быстрее, чем частота видеокадров) - значок не отображается, и все, что у меня есть, - это видео (если частота обновления ярлыков меньше частоты кадров)

Я попытался добавить прозрачный виджетк макету видео и добавлению метки в новое окно, но это также не удалось.

Вот мой код

//  videoWindow                  //this is the window on which video is rendered
layTimer=new QGridLayout();  
dummyWidget=new QWidget();
timerLabel=new QLabel(dummyWidget);
videoWindow->setLayout(layTimer);
dummyWidget->setAttribute(Qt::WA_TranslucentBackground);
dummyWidget->setStyleSheet("background:transparent;");
timerLabel()->setStyleSheet("background:transparent;");
timerLabel()->setWindowFlags(Qt::FramelessWindowHint | Qt::WindowStaysOnTopHint | Qt::X11BypassWindowManagerHint );
dummyWidget->setWindowFlags(Qt::FramelessWindowHint | Qt::WindowStaysOnTopHint | Qt::X11BypassWindowManagerHint );
timerLabel()->setAttribute(Qt::WA_TranslucentBackground);
layTimer->addWidget(dummyWidget);

Как я могу решить эту проблему?Как я могу отображать только текст метки на видео?

...