Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets > Qt4 наложение виджетов


Автор: X-3R1 9.7.2010, 16:56
Необходимо наложить прозрачный виджет на другой.

Наложение я реализовал так:

Код

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 были видны)?

Автор: SABROG 9.7.2010, 17:16
Цитата(X-3R1 @  9.7.2010,  16:56 Найти цитируемый пост)
Теперь вопрос: правильно ли сделал наложение одного виджета на другой, или можно сделать более оптимальным способом?

QStackedLayout

Цитата(X-3R1 @  9.7.2010,  16:56 Найти цитируемый пост)
Вопрос два: каким образом сделать child2 полностью прозрачным (чтобы все элементы child2 были видны)?

Флаг QStackedLayout::StackAll сделает прозрачными все слои, так что все виджеты с каждой страницы будут видны одновременно.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)