Details
-
Bug
-
Resolution: Out of scope
-
P4: Low
-
4.6.2
-
None
-
Qt 4.6.2
Windows XP x86
Microsoft Visual C++ 2008
Description
If you show an ActiveX widget in a frameless dialog which attribute is set to transparent, the ActiveX widget is not shown. Instead you get a "hole" in the dialog. This behaviour occurs with completely different types of ActiveX components. But if you don't make the dialog transparent the ActiveX widget is shown.
A non-transparent QWidget as a parent of the QAxWidget only fix the "hole" but the ActiveX widget is still not shown. It seems that the parent window (not widget) of the ActiveX widget may not be transparent.
Example
#include <QApplication> #include <QDialog> #include <QHBoxLayout> #include "acropdflib.h" //created by "Qt\bin\dumpcpp.exe AcroPDF.PDF" int main(int argc, char *argv[]) { QApplication a(argc, argv); QDialog d(0, Qt::Dialog | Qt::FramelessWindowHint); AcroPDFLib::AcroPDF* pdf = new AcroPDFLib::AcroPDF(&d); pdf->LoadFile("test.pdf"); d.setLayout(new QHBoxLayout()); d.layout()->addWidget(pdf); d.setAttribute(Qt::WA_TranslucentBackground); //without this the PDF is shown d.show(); return a.exec(); }
This Bug may be related to QTBUG-8387.