Мне нужно создать виджет qt, который будет выступать в роли родителя для некоторых других виджетов и будет их заказывать.Виджет qt с полностью прозрачным фоном
Теперь вопрос в том, как сделать его фон полностью прозрачным?
Я думал сделать это следующим образом:
struct Imp
{
Imp(QWidget *parent) : thisWidget(new QWidget(parent))
{
thisWidget->setAttribute(Qt::WA_TranslucentBackground, true);
}
QWidget *thisWidget;
};
Как вы думаете, что мне нужно установить атрибут, или он будет работать нормально без него?
ли вам действительно нужно _transparent_ фона, или достаточно, чтобы иметь _no_ фона? Это реальная разница: с прозрачным фоном ОС скажет окну _underlying_ рисовать пиксели. Без фона ОС просто ожидает, что дети будут рисовать все окно. – MSalters 2010-11-25 16:22:38
@MSalters Этот виджет - это места в окне, и только дочерние виджеты этих виджетов должны быть видимыми. Все, что стоит за этим виджетами (если не охвачено дочерним виджетами), должно быть видно. – 2010-11-25 16:28:10
Я не уверен, что понимаю этот вопрос ... по умолчанию в Qt4 QWidget ничего не рисует для своего собственного фона, и будут рисоваться только его дети. – 2010-12-01 22:21:11