2016-12-06 3 views
1

Ist es möglich, einen QToolBar Widget Hintergrund transparent zu machen?Make QToolBar transparent

Dahinter habe ich eine QOpenGLWidget und ich möchte nur die Symbole der Symbolleiste sehen.

Antwort

0

Ist es nicht genug, QToolBar als Kind von QOpenGLWidget zu deklarieren? Etwas wie:

QMainWindow qW; 

QOpenGLWidget *pOG = new QOpenGLWidget; 
QToolBar *pTB = new QToolBar(pOG); 

qW.setCentralWidget(pOG); 

ich mit einem QFrame getestet statt QOpenGLWidget und es funktioniert.

+0

Nein, das funktioniert nicht. Die Symbolleiste ist nicht transparent und ich kann die Symbolleisten nicht verschieben – manatttta

+1

Sie könnten versuchen, 'pTb-> setStyleSheet (" background: transparent; ");' – mbjoe

1

Dies funktioniert für mich mit einem QGroupBox vor einem QOpenGLWidget:

this->viewButtonBox = new QGroupBox(tr("View")); 
QPalette pal; 
pal.setColor(QPalette::Background, Qt::transparent); 
viewButtonBox->setPalette(pal); 

//adding groupbox in front of openglwidget 
QVBoxLayout* centralLayout = new QVBoxLayout; 
centralLayout->addWidget(viewButtonBox); 
this->setLayout(centralLayout); 

Der QGroupBox Teil des QOpenGLWidgets Layout ist.

+0

Danke für die Antwort! Entschuldigung, ich habe nicht verstanden, was du mit "Die QGroupBox ist Teil des QOpenGLWidgets-Layouts" gemeint hast. – manatttta

+0

Ich habe den Code hinzugefügt, um klarer zu machen, wie ich das Layout einrichte. –

+0

Sie schlagen also vor, ich ziehe die ToolBar und starten Sie mit einer GroupBox? – manatttta