Niewidoczny pczycisk

0

Witam, mam pytanie odnośnie mojego programu.
Czemu ucina mi przycisk kasowania w połowie?
W załączniku kod oraz zdjęcie z programu

0

Tak jak na zdjęciu przycisk to "kasowanie"

0

Może masz w panelu ustawione paddingi albo margines przy samym przycisku.
Sprawdź te wartości. Najprawdopodobniej masz w panelu padding i lewy margines przy przycisku.

0

@katakrowa: Szukam i szukam i nie mogę znaleźć błędu.
Na czym polegają paddingi?

0

@katakrowa: Włąśnie program jest napisany w środowisku QT creatora.
Zaraz poczytam

0

Po co ci to:

    this->setFixedSize(sizeHint().width(), sizeHint().height());

Jeśli pobierasz sizeHint w konstruktorze, to ponieważ niektóre widgety mają mechanizm związany ze stylami, który nazywa się polish, który jest uruchamiany dopiero jak event loop dojdzie do głosu, to sizeHint w konstruktorze może mieć wartość inną od końcowej wartości oczekiwanej.
Zmień po prostu sizePolicy i okno samo się dostosuje do pożądanej wielkości, bez czytania sizeHint.
A najlepiej po prostu wywal tą linijkę.

Teraz ponieważ, ustawiasz sztywny nieprawidłowy rozmiar, to ten guzik nie ma miejsca by się prawidłowo wyświetlić.

0

@MarekR22: Usunąłem tą wskazaną linijkę, ale nie za bardzo pomogło.
Może usunąć wszędzie komendę "sizeHint."?

0

sizeHint nie powinny by  przez ciebie używane. To jest informacja dla layout.
Więcej nie da ci się pomóc, bo niewiele więcej wynika z twojego kodu.

0

@MarekR22: To co powinien zrobić? Nie ma żadnych szans na poprawienie tego przycisku?
To jest tylko część kodu, program został napisany do sprawdzania różnych urządzeń elektrycznych.

0

Oczywiście, że jest
spróbuj z tym: https://doc.qt.io/GammaRay/gammaray-tools.html

0

W kodzie masz

    QHBoxLayout *btnClearLayout = new QHBoxLayout;
    btnClearLayout->addWidget(buttonClear);
    btnClearLayout->addWidget(labelClear);
    btnClearLayout->addStretch();

spróbuj na chwilę zakomentować linię i zobacz co się stanie

//    btnClearLayout->addStretch(); // <- to zakomentuj

i pokaż kod odpowiedzialny za buttonClear

i pytanie czy masz ustawiony mainLayout ?

i mam wrażenie, że pomieszałeś warstwę reprezentacyjną z warstwą biznesową - bo gdybyś miął to napisane w ten sposób, to łatwiej by ci było znaleźć błąd/utrzymać/rozwijać i wrzucić kod tutaj

@MarekR22

Więcej nie da ci się pomóc, bo niewiele więcej wynika z twojego kodu.

mało da się wyciągnąć na podstawie tego zlepka

1 użytkowników online, w tym zalogowanych: 0, gości: 1