Название: QSplashScreen Отправлено: hemul от Декабрь 13, 2012, 20:27 Код: class EoF_gameSplashScreen:public QSplashScreen Код: EoF_gameSplashScreen splash(&splash_pic); Хочу сделать картинку загрузки на полный экран, при этом чтобы картинка меньших размеров была по центру, а остальной фон был цвета background_color. С цветом я знаю как реализовать, а вот поместить картинку в центр у меня не получилось. Не подскажете, как это можно сделать? Название: Re: QSplashScreen Отправлено: Bepec от Декабрь 13, 2012, 20:28 QDesktopWidgets вам в помощь.
Размер текущего экрана получить несложно. Далее +- и вуаля. Название: Re: QSplashScreen Отправлено: hemul от Декабрь 13, 2012, 20:43 Я знаю как получить центр виджета, я не знаю как именно поместить картинку в QSplashScreen в центр
Название: Re: QSplashScreen Отправлено: Bepec от Декабрь 13, 2012, 22:22 Сплешскрин это виджет.
Виджет может двигаться. Двигаться по координатам. Координаты получаем от DesktopWidgets. Знаем размер виджета. Вычитаем от размера экрана размер виджета. Делим получившийся размер на 50%. Передвигаем в полученные координаты сплешскрин. Профит? Профит. Название: Re: QSplashScreen Отправлено: hemul от Декабрь 14, 2012, 10:07 Я сделал, что хотел
Код: class EoF_gameSplashScreen:public QSplashScreen Наследуем QSplashScreen, ставим картинку QPixmap(1;1) и ставим нужный нам цвет фона - фон есть . Делаем членом нашего класса еще один QSplashScreen и добавляем нужную картинку для загрузки в центр (она сама туда помещается). Название: Re: QSplashScreen Отправлено: Bepec от Декабрь 14, 2012, 10:28 Омфг. А в втором сплешскрине нет третьего сплешскрина с надписью?
Могли б просто картинки отрисовывать на нём, если уж стандартные функции не подходят. Название: Re: QSplashScreen Отправлено: hemul от Декабрь 14, 2012, 13:15 Вот я и пытался узнать как, потому что paintEvent не вызывался вообще, а drawContents не работал .
Название: Re: QSplashScreen Отправлено: Bepec от Декабрь 14, 2012, 13:23 Минимально компилируемый пример в студию и возможно вам помогут.
Название: Re: QSplashScreen Отправлено: Dancing_on_water от Декабрь 14, 2012, 20:35 Как было сказано QSplashScreen это виджет.
И самый простой способ отцентрировать элемент в виджете это поместить в него gridLayout, а затем к слою добавить картинку. Цвет фона задать через QPallite или через QSS |