Название: Как реализовать аналог FormCreate() из Lazarus Отправлено: evb87ar от Март 07, 2015, 23:09 Добрый день, форумчане,
прошу вашей помощи в следующем затыке: есть форма, на форме QSplitter, где болтается два виджета. Задача: после запуска приложения, изменить размер первого виджета в QSplitter согласно значению из настроек. Попытки: применение QSplitter.setSizes() в __init__ не приводят к нужному результату, так как форма ещё не знает какие у неё размеры. QSplitter.sizes() выдаёт [<какое-либо число>, 0] Пробовал делать привязку в resizeEvent, но не нравится мне такой подход, ибо неправильный он какой-то. Да и каждый раз надо значение сохранять, потом вызывать... не то это (как старый паскалист чую). В Lazarus всё просто и понятно, после FormCreate все размеры форма уже знает, но ещё не отрисована на экране, отсюда и пляши, как говорится. Соответственно вопрос: как реализовать однократную обработку при запуске приложения\показе формы? Или есть какой-то другой способ? UPD: showEvent() не подходит, так как на этот момент времени размер формы является тем, какой установлен в качестве минимального. А окно может быть открыто как на весь экран, так и с минимальными размерами (смотря как пользователь закрыл). UPD 2: sizes() после showMaximized() из отдельной функции так же возвращает минимальные размеры формы. Название: Re: Как реализовать аналог FormCreate() из Lazarus Отправлено: gil9red от Март 07, 2015, 23:26 Похожая тема http://www.prog.org.ru/topic_28319_0.html ;)
Название: Re: Как реализовать аналог FormCreate() из Lazarus Отправлено: evb87ar от Март 07, 2015, 23:37 gil9red, благодарствую, как вариант подходит :)
Название: Re: Как реализовать аналог FormCreate() из Lazarus Отправлено: Igors от Март 08, 2015, 08:58 Ну в первый раз тоже устанавливать надо :) Я выкручивался так
Код И заряжать mSavedPos |