Залить цветом QScrollArea
День добрый.
Пытаюсь залить QScrollArea белым цветом. Делаю это следующим образом:
widget.h
- class Widget : public QWidget
- {
- Q_OBJECT
- public:
- Widget(QWidget* parent = nullptr);
- ~Widget();
- private:
- QWidget* m_widget;
- QScrollArea* m_scrollArea;
- QGroupBox* m_groupe;
- QVBoxLayout* m_layout;
- QVBoxLayout* m_mainLayout;
- };
widget.cpp
- Widget::Widget(QWidget* parent)
- : QWidget(parent)
- {
- m_widget = new QWidget(this);
- QPalette palette = m_widget->palette();
- palette.setColor(QPalette::Background, Qt::white);
- m_widget->setAutoFillBackground(true);
- m_widget->setPalette(palette);
- m_scrollArea = new QScrollArea(this);
- m_scrollArea->setWidget(m_widget);
- m_groupe = new QGroupBox(tr("Виджет"), this);
- m_layout = new QVBoxLayout;
- m_mainLayout = new QVBoxLayout;
- m_layout->addWidget(m_scrollArea);
- m_groupe->setLayout(m_layout);
- m_mainLayout->addWidget(m_groupe);
- setLayout(m_mainLayout);
- resize(200, 200);
- }
Если не использовать QScrollArea, окрашенный в белый цвет виджет m_widget виден, с QScrollArea - белый виджет пропадает куда-то... Но а) m_widget нужен, поскольку планирую менять его на нужный в зависимости от вставляемого с помощью drag and drop контента и б) QScrollArea тоже необходим, чтобы была видна рамка.
3
252
Ол саған ұнайды ма? Әлеуметтік желілерде бөлісіңіз!
Пікірлер
- Соңғы пікірлер
- AKСәуір 1, 2025, 11:41 Т.Ж.Добрый день. В данный момент работаю над проектом, где необходимо выводить звук из программы в определенное аудиоустройство (колонки, наушники, виртуальный кабель и т.д). Пишу на Qt5.12.12 поско…
- VPНаурыз 9, 2025, 4:14 Т.Қ.Здравствуйте! Я устанавливал Qt6 из исходников а также Qt Creator по отдельности. Все компоненты, связанные с разработкой для Android, установлены. Кроме одного... Когда пытаюсь скомпилиров…
- ИМҚар. 22, 2024, 9:51 Т.Қ.Добрый вечер Евгений! Я сделал себе авторизацию аналогичную вашей, все работает, кроме возврата к предидущей странице. Редеректит всегда на главную, хотя в логах сервера вижу запросы на правильн…
- Енді форумда талқылаңыз
- DTСәуір 14, 2025, 3:38 Т.Қ.Всем привет! На Qt 6.8 MinGW пытаюсь сделать управление подключением WiFi из программы. Пока делаю поддержку Windows, но так же хочу в дальнейшем внедрить и поддержку Linux/MacOS. Для…
- fАқп. 15, 2025, 1:46 Т.Қ.Подскажите, пожалуйста! Как данный класс можно дополнить, чтобы созданные объекты можно было перемещать мышкой по сцене?
- Не запускается компьютер (точнее работает блок , но сам монитор вообще жесть)В общем я ничего с интернета не скачивала в последнее время. На компе никаких левых пр…
- Вопрос решен. Узнать QModelIndex элемента на который мы перетаскиваем другой элемент, можно с помощью функции indexAt(event->position().toPoint()) представления QTreeViev вызываемой в переопр…
Если тебе нужна рамка, разве не проще использовать QFrame, так и рамки из коробки менять можно

.
.
.
Сделал так:
Рамка не показывается. Что не так?
Разобрался. Забыл m_frame->setFrameShape(QFrame::Box) поставить.
Спасибо!
Теперь новая засада: ставлю setContentMargins(0, 0, 0, 0), и рамка исчезает. А мне надо, чтобы вижет заподлицо с рамкой был, а не на расстоянии.
Возможно, виджет перекрывает фрейм, нужно просто поправить z-index
Попробуй QWidget:: stackUnder() / raise() / lover()
Никакого эффекта.
Так получилось: