2016-12-06 2 views

ответ

0

Не достаточно ли объявить QToolBar ребенком QOpenGLWidget? Что-то вроде:

QMainWindow qW; 

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

qW.setCentralWidget(pOG); 

я тестировал с QFrame вместо QOpenGLWidget и она работает.

+0

Нет, это не работает. Панель инструментов не прозрачна, и я не могу переместить панели инструментов. – manatttta

+1

Вы можете попробовать 'pTb-> setStyleSheet (« background: transparent; »);' – mbjoe

1

Это работает для меня с QGroupBox в передней части 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); 

QGroupBox является частью макета QOpenGLWidgets.

+0

Спасибо за ответ! Извините, я не понял, что вы имели в виду: «QGroupBox является частью макета QOpenGLWidgets». – manatttta

+0

Я добавил к коду, чтобы было более ясно, как я настроил макет. –

+0

Итак, вы предлагаете мне ящику ToolBar и начать использовать GroupBox? – manatttta