Qt - jak pobrać prawdziwy rozmiar widgeta

0

Mam taki problem, że stworzyłem sobie swojego widgeta umieściłem go na dialogu

 this->setCentralWidget(pMainWidget);

i potrzebuję - np przy zmianie rozmiaru okna pobrać rozmiar widgeta

no i jest problem ponieważ metody width i height zwracają cały czas 100 i 300
geometry też zwraca 100 i 30

ogólnie co by się nie działo to zawsze mam zwrócone te same dwie wartości

mam prośbę, jakby ktoś miał pomysł jak tego dokonać byłbym wdzięczny za odpisanie

0

Jeśli jest nastawiony layout na głównym oknie zawierającym pMainWidgeta to ów rozmiar pobierałbym w resizeEvencie:

void YourWindow::resizeEvent(QResizeEvent *e)
{
   QMainWindow::resizeEvent(e);
   centralWidget()->size();//rozmiar twojego widgeta pMainWidget
}

Przy czym UWAGA!Zauważyłem,że pod Windowsem przy starcie aplikacji resizeEvent jest wywoływany 2x,i dopiero podczas 2 wywołania zwraca prawidłowe rozmiary!
Tak przynajmniej jest w Qt do 4.5.0,czy w wyższych wersjach występuje to zjawisko sam musisz sprawdzić

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