2011-07-17 12 views
8

Jak mogę zmienić rozmiar czcionki QLabel, nawet jeśli oznacza to obcięcie jej zawierającego tekst? Mam QLabel rozciągający całą poziomą przestrzeń Widget. Podczas ustawiania jego tekstu upewniam się, że jest on poprawnie obcięty, tj. Pobiera jego FontMetrics i Width i używa metics.elidedText().Włącz QLabel, aby zmniejszyć nawet jeśli obcina tekst

Ale kiedy użytkownik zmienia rozmiar widżetu, etykieta nie pozwala mu na dalsze zmniejszanie, ponieważ spowoduje on obcięcie jego tekstu.

Wszelkie pomysły na rozwiązanie tego problemu? Najprostszym rozwiązaniem, jak sądzę, byłoby jakoś nakazanie QLabel, aby zawsze się zmniejszał, a następnie przechwytywał zdarzenie zmiany rozmiaru i poprawnie formatował tekst - po prostu nie mam pojęcia, jak wykonać pierwszą część (zasady różnych rozmiarów nie pomagają)

Odpowiedz

8

Chociaż wspomniano, że ustawienie zasad rozmiaru nie pomogło, ustawienie zasady rozmiaru poziomego QLabel na QSizePolicy::Ignored powinno nakazać menedżerowi layoutu zawierającemu zignorować wskazówkę dotyczącą minimalnego rozmiaru z etykiety. Alternatywą byłoby ustawienie minimalnego rozmiaru poziomego QLabel na wartość niezerową, np. 1. Jeśli żadna z tych opcji nie działa, oznacza to, że coś innego przeszkadza.

+0

Dziwne, że wypróbowałem Ignorowane i chociaż pozwoliło mi to na odpowiednie zredukowanie widżetu, doprowadziło to do dziwnego wyglądu graficznego, ponieważ widżet nie wypełniał już całej przestrzeni poziomej (którą kompletnie zapomniałem do czasu, kiedy ją opublikowałem, przepraszam za to!). Po prostu spróbowałem jeszcze raz i ... działa - po niemiecku powiedzielibyśmy "Vorführeffekt";) +1 i zaakceptowałem – Voo

+1

Podobało mi się szukanie tego słowa :) –

Powiązane problemy