Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: n4ela от Июнь 19, 2010, 16:07



Название: Разные интерфейсы для разных платформ
Отправлено: n4ela от Июнь 19, 2010, 16:07
Использую бетовский qtcreator, пробую поэкспериментировать с программированием под maemo.
Столкнулся с одной не приятной вещью: например если на компьютере кнопка размером 50на50 смотрится отлично, то на maemo это просто маленький квадратик в который стилусомто еле попадешь. В связи с этим вопрос, есть ли возможность написать два разных интерфейса в дизайнере. Скажем .cpp и .h файлы не изменяются, и имеется два .ui все элементы называются одинаково различается только размер и расположение.


Название: Re: Разные интерфейсы для разных платформ
Отправлено: lit-uriy от Июнь 19, 2010, 17:07
можно ui-файлы на лету во время выполнения загружать, смотри QUiLoader (не забудь что этот модуль нужно в pro-файл добавить)


Название: Re: Разные интерфейсы для разных платформ
Отправлено: n4ela от Июнь 19, 2010, 19:40
Спасибо, кажется это то что нужно.


Название: Re: Разные интерфейсы для разных платформ
Отправлено: asvil от Июнь 21, 2010, 23:03
Лучше создать в дизайнере под каждую платформу ui файл c префиксом "имя платформы", а затем подключать нужный сгенерированный ui заголовочный файл в #ifdef "скобках". Однако я не могу назвать нужные дефайны.

P.S. Тогда не придется писать someThisClassMember = qobject_cast<SomeQtWidget*>();


Название: Re: Разные интерфейсы для разных платформ
Отправлено: Авварон от Июнь 25, 2010, 19:05
#ifdef Q_OS_WIN
#include "ui_form_win.h"
#endif