Здравствуйте.
Собственно задача: есть QWidget, на нем пара QHVBoxLayout с QPushButton и QTreeWiget, выглядит все это так:
Моя задача - сделать границы окна невидимыми и кнопки, чтобы был виден только QTreeWidget. Для этого у родителя вызываю setMask, ну вот примерно так, думаю тут понятно:
if (fWindowStyle == CLBorderLessWindow)
{
flags |= Qt::FramelessWindowHint;
}
setWindowFlags(flags);
if (fWindowStyle == CLBorderLessWindow)
{
//ui.contactListTree->updateGeometry();
QRegion visibleRegion(ui.contactListTree->geometry().left(), ui.contactListTree->geometry().top(),
ui.contactListTree->geometry().left() + ui.contactListTree->geometry().width(), ui.contactListTree->geometry().top() + ui.contactListTree->geometry().height());
setMask(visibleRegion);
}
В итоге получаю очень интересный баг:
QTreeWidget в итоге растягивается на всю высоту окна, вместо должного эффекта. Если кто-то подскажет где копать - буду очень благодарен. Прошу прощения за размеры скриншотов