Название: Как убрать фон у виджета без родителя? Отправлено: maks991 от Август 11, 2011, 03:36 Создаю виджет, у него нет родителя. Мне так нужно. Я делаю что-то вроде своего тултипа, поэтому он должен быть поверх всего, то бишь виджету при консруировании ставлю флаг Qt::ToolTip. Так вот, значит виджет не имеет родителя. А поэтому у него всегда отрисовывается фон, и только потом то, что находится в пэйнтЭвэнте. Если виджет имеет родителя, то фон по-умолчанию не рисуется. Подскажите, пожалуйста, как избавиться от фона в виджете без родителя?
P.S. setAutoFillBackground(false) не помогает. Название: Re: Как убрать фон у виджета без родителя? Отправлено: LisandreL от Август 11, 2011, 07:40 setAttribute(Qt::WA_TranslucentBackground); ?
Название: Re: Как убрать фон у виджета без родителя? Отправлено: maks991 от Август 11, 2011, 07:58 Теперь фон чёрный, а не белый.. Но он по-прежнему есть :(
Название: Re: Как убрать фон у виджета без родителя? Отправлено: Гурман от Август 11, 2011, 13:48 http://doc.qt.nokia.com/qq/QtQuarterly29.pdf статья Translucent Widgets in Qt
Название: Re: Как убрать фон у виджета без родителя? Отправлено: maks991 от Август 11, 2011, 15:28 Большое спасибо! Я создавал виджет только с флагом Qt::ToolTipи и вызов метода setAttribute(Qt::WA_TranslucentBackground) не давал результата. И хотя флаг тултипа убирает все рамки, всё равно нужно было ещё присобачить флаг Qt::FramelessWindowHint и тогда фон исчез :) Так что, кому интересно, если хотите сделать окошко без фона, всегда поверх других и чтобы оно не отображалось в панели задач используйте код:
Код: QWidget(0, Qt::FramelessWindowHint | Qt::ToolTip); |