crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )


  Ответ в Два метода рисования
Введите ваше имя
Подтвердите код

Введите в поле код из 6 символов, отображенных в виде изображения. Если вы не можете прочитать код с изображения, нажмите на изображение для генерации нового кода.
 

Опции сообщения
 Включить смайлы?
Иконки сообщения
(Опционально)
                                
                                
  [ Без иконки ]
 


Последние 10 сообщений [ в обратном порядке ]
leff Дата 29.12.2010, 23:01
  да, спасибо, похоже это то, что мне нужно! :clapping:
igor_bogomolov Дата 29.12.2010, 22:49
  leff, так всё элементарно. Если бы сразу картинку дали, то и ответ быстрее получили бы.

На самом деле вам нужно использовать векторную графику в формате svg. Вооружитесь каким-нибудь вменяемым редактором, например inkscape и доками по QtSvg
В качестве примера скачайте qt-embedded-widgets, там есть примеры аналогичных виджетов
leff Дата 29.12.2010, 21:26
 
Прикрепленное изображение

вот набросал пример элемента аналога QDial по первому методу (цвета "maroon")... сначала рисуется шкала (с помощью drawArc), затем рисуется эллипс с градиентной кистью (базовый цвет и осветленный базовый цвет), затем рисуется указатель - линия (переношу систему координат в центр, разворачиваю эту систему координат в зависимости от значения, рисую перпендикулярную линию)... при этом элемент зависим от трех цветов (цвет шкалы и обводки, базовый цвет элемента, цвет указателя)... можно было бы сделать по второму методу: нарисовать шкалу, элемент и указатель допустим в черно-белые png-файлы с прозрачностью и использовать их как кисти в соответствии с цветами...

то, что я сделал - самое простое... а вот допустим такую крутилочку (как на картинке, только вид сверху) нарисовать получится много кода, даже если придумать как:

:unsure:
Litkevich Yuriy Дата 29.12.2010, 20:50
  leff, изучи таблицы стилей в Qt. Возможно оно тебе подойдёт.
igor_bogomolov Дата 29.12.2010, 20:49
  leff, здесь на самом деле не понятно что посоветовать. Вы бы приложили примеры того что рисовать собираетесь, там уже виднее станет
leff Дата 29.12.2010, 20:39
 
Цитата(ufna @ 29.12.2010, 20:28) *
я чет не понял - а во втором случае картинки ты как вставлять будешь?

что значит как? например используя QPixmap...
а почему ни тот, ни второй вариант не является решением?
ufna Дата 29.12.2010, 20:28
  я чет не понял - а во втором случае картинки ты как вставлять будешь?

Суть в том, что ни тот, ни другой метод - не решение проблемы, а лишь эрзац-варианты.

И:

1) все рисуется через QPainter
2) чем больше рисуется уже нарисованного в картинку ранее - тем быстрее (кэширование)
3) все зависит от конкретных случаев
leff Дата 29.12.2010, 19:51
  не так давно начал изучение Qt... суть вопроса вот в чем... я делаю графический интерфейс, все элементы управления наследуются от стандартных элементов управления Qt, но должны выглядеть в едином рисованном стиле... для этого я создаю классы наследники для каждого элемента управления, перегружаю paintEvent... мои задачи можно в принципе решить двумя путями... первый путь: рисовать элементы управления с помощью QPainter... второй путь: нарисовать элементы управления в виде кистей в другой программе (в виде кистей, так как элементы управления могут принимать разный цвет) и рисовать ими... первый вариант выглядит более предпочтительным, так как в случае изменения размера элемента он будет верно отрисовываться без потери качества, но на практике некоторые моменты рисования реализовать сложно... второй вариант в принципе адекватен, но как лучше загружать и хранить эти кисти пока не понятно... вопрос в том, какой вариант из двух вы считаете наилучшим и почему? то есть лучше рисовать элементы QPainter'ом или вставлять на их место готовые картинки из файлов? какие преимущества и недостатки, вы считаете, есть у обоих методов? каковы они в отношении скорости?
Просмотр темы полностью (откроется в новом окне)
RSS Текстовая версия Сейчас: 28.3.2024, 19:14