Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. QtWebEngine
  4. QWebEngineView with transparent bg always on top

QWebEngineView with transparent bg always on top

Scheduled Pinned Locked Moved Unsolved QtWebEngine
2 Posts 1 Posters 1.0k Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • J Offline
    J Offline
    jjoorrpp
    wrote on last edited by jjoorrpp
    #1

    What I expect:

    • QWebEngineView with a translucent background

    • QWidget overlay on QWebEngineView

    Codes are:

    int main(int argc, char *argv[])
    {
        QApplication app(argc, argv);
    
        QMainWindow mainWindow;
    
        QWebEngineView view(&mainWindow);
        view.setUrl(QUrl("https://www.qt.io"));
        view.setGeometry(50, 50, 300, 300);
    
        view.page()->setBackgroundColor(Qt::transparent); /// <- #1 make web engine view bg transparent
    
        QWidget overlay(&mainWindow);
        overlay.setGeometry(0, 0, 100, 100);
        overlay.raise(); /// <- #2 make overlay widget on top
        overlay.setStyleSheet("background:red");
    
        mainWindow.resize(400, 400);
        mainWindow.show();
        return app.exec();
    }
    

    Result is:
    d30daae1-1769-43e1-85de-e87aa9556d45-image.png

    Problem is:
    QWebEngineView overlayed on QWidget.
    QWidget cannot overlay on QWebEngineView when QWebEngineView has transparent bg.

    How to solve it?

    ps: problem appears on Windows 10, Qt 5.15.0 with msvc2019

    J 1 Reply Last reply
    0
    • J jjoorrpp

      What I expect:

      • QWebEngineView with a translucent background

      • QWidget overlay on QWebEngineView

      Codes are:

      int main(int argc, char *argv[])
      {
          QApplication app(argc, argv);
      
          QMainWindow mainWindow;
      
          QWebEngineView view(&mainWindow);
          view.setUrl(QUrl("https://www.qt.io"));
          view.setGeometry(50, 50, 300, 300);
      
          view.page()->setBackgroundColor(Qt::transparent); /// <- #1 make web engine view bg transparent
      
          QWidget overlay(&mainWindow);
          overlay.setGeometry(0, 0, 100, 100);
          overlay.raise(); /// <- #2 make overlay widget on top
          overlay.setStyleSheet("background:red");
      
          mainWindow.resize(400, 400);
          mainWindow.show();
          return app.exec();
      }
      

      Result is:
      d30daae1-1769-43e1-85de-e87aa9556d45-image.png

      Problem is:
      QWebEngineView overlayed on QWidget.
      QWidget cannot overlay on QWebEngineView when QWebEngineView has transparent bg.

      How to solve it?

      ps: problem appears on Windows 10, Qt 5.15.0 with msvc2019

      J Offline
      J Offline
      jjoorrpp
      wrote on last edited by
      #2
      This post is deleted!
      1 Reply Last reply
      0

      • Login

      • Login or register to search.
      • First post
        Last post
      0
      • Categories
      • Recent
      • Tags
      • Popular
      • Users
      • Groups
      • Search
      • Get Qt Extensions
      • Unsolved