Название: Кастомное диалоговое окно Отправлено: onecupofspam от Декабрь 02, 2010, 19:17 Господа, с QT работаю пару дней, поиском ответа не нашел.
Пишу приложение под мобильную платформу. Основная форма - класс на основе QGraphicsView. В нем есть несколько управляющие элементов, которые должны вызывать диалоговое окно с нестандартным интерфейсом. Это окно из себя представляет просто прямоугольник с наложенной текстурой и несколькими кнопками (опять же кастомными) на нём. В будущем в этом окошке могут появиться некие эффекты (анимация). На основе какого класса создать это окно? QDialog - насколько я понял толком не дает возможности его кастомизировать. Или делать его тоже на основе QGraphicsView? На данный момент я делаю это наследуясь от QGraphicsWidget на который кладу QGraphicsScene, на которой размещаю свои кнопки. Кнопки делаю полями данного класса, при нажатии посылаю соответствующие сигналы. И еще, посоветуйте где можно посмотреть подробные описания классов Qt с их предназначением и наиболее частыми ситуациями использования. Документация - это замечательно, она классная, но чтобы от неё была польза, нужно знать документацию какого класса тебе надо изучить, а тыкать во все более-менее похожее на то что тебе надо в AllClasses удовольствие не из лучших. Спасибо. UPDATE: Тьфу, QGraphicsWidget наоборот, кидается на сцену, а не сцена на него. Тогда как вариант окошко кидать на основную сцену с заведомо большей Z-координатой (при этом для красоты можно затемнить все что под ним). Но вопрос остается - на основе чего делать это окно? Чтобы можно было использовать текстуру для фона, и можно было кидать subwidgets? Если я придумываю велосипед, то ткните в сторону готового) Название: Re: Кастомное диалоговое окно Отправлено: crossly от Декабрь 03, 2010, 10:01 Цитировать На данный момент я делаю это наследуясь от QGraphicsWidget на который кладу QGraphicsScene, на которой размещаю свои кнопки. все правильно вы делаете... Кнопки делаю полями данного класса, при нажатии посылаю соответствующие сигналы. Название: Re: Кастомное диалоговое окно Отправлено: onecupofspam от Декабрь 03, 2010, 10:19 Гм, но насколько я понял из документации, QGraphicsWidget - это класс для объектов которые помещаются НА сцену, а не сцена в них.
А если я не могу поместить на него сцену, то как задать фон, как разместить кнопки и прочее? Только лишь реализовывая paint()? Название: Re: Кастомное диалоговое окно Отправлено: crossly от Декабрь 03, 2010, 10:29 а зачем вам сцену кидать на QGraphicsWidget??
Название: Re: Кастомное диалоговое окно Отправлено: onecupofspam от Декабрь 03, 2010, 11:21 Чтобы к ней применить Brush с нужной текстурой, чтобы на неё кинуть кнопки, а в будущем на ней реализовывать анимацию.
Название: Re: Кастомное диалоговое окно Отправлено: crossly от Декабрь 03, 2010, 11:26 если вы хотите поместить обычный виджет на QGraphicsScene используйте QGraphicsProxyWidget
Название: Re: Кастомное диалоговое окно Отправлено: onecupofspam от Декабрь 03, 2010, 11:37 Кажется мы не понимаем друг друга)
Окно моего приложения - это QGraphicsView с QGraphicsScene. к этой сцене применены свои текстуры, свои subwidgets и т.п. При взаимодействии с некоторыми подвиджетами я хочу вызывать новое окошко. У него свое особое оформление, свои подвиджеты. Поэтому я думал, что возможно к нему необоходимо прикрепить некую новую сцену, оформление которой так же настроить. Проблема в том, что я не могу сделать это окошко в виде некоторого виджета (так как на виджет нельзя поместить сцену). Тогда как его реализовывать? тоже как QGraphicsView? Или отказаться от дополнительной сцены и реализовать его в виде некоторого виджета, задавая оформление в paint() ? Название: Re: Кастомное диалоговое окно Отправлено: crossly от Декабрь 03, 2010, 12:22 последний вариант наверное буде предпочтительнее
Название: Re: Кастомное диалоговое окно Отправлено: onecupofspam от Декабрь 04, 2010, 22:58 Из каких соображений?
|