Widgety w QVBoxLayout mają niechciane odstępy

Widgety w QVBoxLayout mają niechciane odstępy
MasterBLB
  • Rejestracja:około 19 lat
  • Ostatnio:około 3 godziny
  • Lokalizacja:Warszawa
  • Postów:1454
0

Czołem Bracia programiści

Napotkałem dziwny problem, i potrzebuję wskazówki gdzie szukać rozwiązania. Jako wstęp pierwszy screenshot, część RIGHT TORSO - te widety M Laser pozycjonuję sam poprzez dodanie do parent QWidgeta, i zrobieniu mLaser->move(0, wysokość slotu * offset). Efekt jak widać na zdjęciu jest OK.
Ale to jest tylko tymczasowe rozwiązanie, chciałem wczoraj zrobić jak Swaróg i Perun przykazali, czyli jako że używam Qt to dodać QVBoxLayout do widgeta ekwipunku. No to dodałem:

Kopiuj
InventoryWidget::InventoryWidget(QWidget *parent)
: InventoryBase(parent)
{
    pen = QPen(Qt::white, penSize);
    slotsCount = 10;

    layout = new QVBoxLayout;
    layout->setDirection(QVBoxLayout::TopToBottom);
    layout->setContentsMargins(0, 0, 0, 0);
    layout->setSpacing(0);
    setLayout(layout);

    for (int cnt = 0; cnt < 6; cnt++)
    {
        InventoryItemWidget *item = new InventoryItemWidget(this);
        //item->move(0, cnt * slotHeight);
        layout->addWidget(item);
    }    
    layout->addStretch();
}

niestety, LIPA - jak widać poniżej pojawia się jakiś odstęp pomiędzy widgetami
inventory.PNG
Zarówno widget ekwipunku, jak i przedmiotu mają przeimplementowane sizeHint() i minimumSizeHint()

Pytanie brzmi - skoro marginesy ustawiłem na 0, spacing na 0, to skąd odstępy?? @MarekR22, @tajny_agent coś może Wam się kojarzy?


"Sugeruję wyobrazić sobie Słońce widziane z orbity Merkurego, a następnie dupę tej wielkości. W takiej właśnie dupie specjalista ma teksty o wspaniałej atmosferze, pracy pełnej wyzwań i tworzeniu innowacyjnych rozwiązań. Pracuje się po to, żeby zarabiać, a z resztą specjalista sobie poradzi we własnym zakresie, nawet jeśli firma mieści się w okopie na granicy obu Korei."
-somekind,
konkretny człowiek-konkretny przekaz :]
edytowany 1x, ostatnio: MasterBLB
tajny_agent
  • Rejestracja:ponad 11 lat
  • Ostatnio:ponad rok
  • Postów:1340
0

Kiedyś też z tym walczyłem, ale nie pamiętam już co mi wtedy pomogło. Zdaje się, że CSS, ale ręki sobie nie dam uciąć ;)
Może problem w tym, że widgety same w sobie mają dodatkowe odstępy?


"I love C++. It's the best language in the world right now for me to write the code that i need and want to write"
~ Herb Sutter
MasterBLB
Wygóglałem to wcześniej, niestety! Dla QWidgeta ów Box Model ma border i padding nastawione domyślnie na 0. Ale, chyba odkryłem winowajcę, tylko trochę więcej eksperymentów muszę zrobić.
tajny_agent
Zawsze można to przedstawić w QTableView i pogmyrać w stylach ;)
MasterBLB
  • Rejestracja:około 19 lat
  • Ostatnio:około 3 godziny
  • Lokalizacja:Warszawa
  • Postów:1454
0

Dobra, sam znalazłem źródło problemu. @kq, można zamknąć/usunąć/zarchiwizować ten wątek.


"Sugeruję wyobrazić sobie Słońce widziane z orbity Merkurego, a następnie dupę tej wielkości. W takiej właśnie dupie specjalista ma teksty o wspaniałej atmosferze, pracy pełnej wyzwań i tworzeniu innowacyjnych rozwiązań. Pracuje się po to, żeby zarabiać, a z resztą specjalista sobie poradzi we własnym zakresie, nawet jeśli firma mieści się w okopie na granicy obu Korei."
-somekind,
konkretny człowiek-konkretny przekaz :]

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.