К примеру есть виджет.
Он должен загрузить виджет, содержащий в себе кнопку. И ещё один виджет с другой кнопкой. Таким образом кнопки расположены в разных виджетах (может быть и другое содержимое).
Необходимо наложить их друг на друга, и иметь возможность изменять прозрачность содержимого виджетов.
На данный момент положил два виджета в QStackedLayout. Поставил
Оба виджета отобразились, но в каждый момент времени доступен только один виджет (элементы другого виджета не активны и можно кликать только по одной из кнопок), предполагаю, что именно тот, который находится по currentIndex.
Хотелось бы чтобы отображались оба виджета, и работать можно было бы с обоими.
Прозрачность тоже не удалось изменить, пытался изменять через
QWidget::setWindowOpacity
Вообщем-то два вопроса:
1) как наложить, чтобы доступными были оба виджета ?
2) как изменить прозрачность?
QFrame *parent = new QFrame();
QWidget *child1= new QWidget();
QVBoxLayout *layout = new QVBoxLayout();
layout->addWidget(child1);
parent->setLayout(layout);
// виджет, который должен быть прозрачным, и который должен наложиться на child1
QWidget *child2 = new QWidget(parent);
child2->resize(...); // в ручную задаю размер и позицию
child2->move(...);
Теперь вопрос: правильно ли сделал наложение одного виджета на другой, или можно сделать более оптимальным способом?
Вопрос два: каким образом сделать сделать child2 полностью прозрачным (чтобы все элементы child2 были видны)?