Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: Caduceus от Июль 24, 2010, 18:34



Название: QGraphicsView->rect() не тот до тех пор, пока view невидим????
Отправлено: Caduceus от Июль 24, 2010, 18:34
У меня три таба, на каждом табе по одному QGraphicsView.

Я на этих QGraphicsView размещаю элементы сам - в зависимости от того, каких этот QGraphicsView размеров.

Так вот, при запуске программы нормальные размеры только у того QGraphicsView, который на  активном табе, на других же табах QGraphicsView имеют мальенькие размеры - соответственно когда я на них переключаюсь элементы располагаются не так - чтоб встали так, надо окно ресайзнуть

Вот и вопрос - как мне сделать, чтоб у всех QGraphicsView были нормаьлные размеры - не только на первом активном?


Название: Re: QGraphicsView->rect() не тот до тех пор, пока view невидим????
Отправлено: lit-uriy от Июль 24, 2010, 19:49
А компоновщики-то есть?


Название: Re: QGraphicsView->rect() не тот до тех пор, пока view невидим????
Отправлено: Caduceus от Июль 24, 2010, 19:55
Да есть все. На всех вкладках все одниково (ну заполнение видов только разное), только нормально лайоутиться только тот вид, который на активной при запуске проге вкладке (до первого ресайза все криво)


Название: Re: QGraphicsView->rect() не тот до тех пор, пока view невидим????
Отправлено: Caduceus от Июль 24, 2010, 20:24
Все, сделал, но через ЖОПУ - при смене активного таба пересчитываю Вид на нем руками - считаю, что это КРИВЬ
Если кто знает нормальный способ - буду очень рад


Название: Re: QGraphicsView->rect() не тот до тех пор, пока view невидим????
Отправлено: Авварон от Июль 25, 2010, 14:28
это вполне нормальный способ. Так как, пока виджет не будет показан, узнать его размер НЕВОЗМОЖНО (есть как минимум 3 способа показать виджет - show(), showMaximized(), showFullScreen()). Какой из этих 3х размеров брать для расчетов пока виджет не показан в 1й раз? Чтобы совсем вопросов не было - таб виджет прячет неактивные виджеты.