![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
barabaka |
![]()
Сообщение
#1
|
Студент ![]() Группа: Участник Сообщений: 40 Регистрация: 14.11.2011 Из: Санкт-Петербург Пользователь №: 2999 Спасибо сказали: 1 раз(а) Репутация: ![]() ![]() ![]() |
Здравствуйте.Вопрос следующий: у меня есть QGraphicsRectItem,в который я добавляю объекты с помощью addRect() прямо в классе главного окна приложения.После этого я получаю их список с помощью items() и потом мне в моей программе по условию надо нарисовать на них текст.Это можно сделать без сабклассов? Чтобы просто с помощью указателя на айтем нарисовать текст на нём?
|
|
|
wiz29 |
![]()
Сообщение
#2
|
![]() Старейший участник ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 600 Регистрация: 7.7.2010 Из: Санкт-Петербург Пользователь №: 1866 Спасибо сказали: 94 раз(а) Репутация: ![]() ![]() ![]() |
вопрос не совсем понятен. возможно лучше просто использовать QGraphicsTextItem вместо QGraphicsRectItem.
в любом случае без преобразования к конкретному типу не получится ничего сделать в QGraphicsItem нет методов по установки текста. |
|
|
barabaka |
![]()
Сообщение
#3
|
Студент ![]() Группа: Участник Сообщений: 40 Регистрация: 14.11.2011 Из: Санкт-Петербург Пользователь №: 2999 Спасибо сказали: 1 раз(а) Репутация: ![]() ![]() ![]() |
Да. Метод Items() возвращает список QGraphicsItems. Потом я делаю итератор для этого списка и кладу их в новый список QList<QraphicsRectItems*> с приведением типа к QGraphicsRectItem*.Просто у меня есть класс внутрь которого я передаю указатели на эти прямоугольники и мне внутри него надо их раскрашивать. Вопрос : мне кроме смены цвета прямоугольников надо текст в них разный вставлять. Так вот как это сделать? Просто в QGraphicsTextItem вроде нельзя фон менять
|
|
|
wiz29 |
![]()
Сообщение
#4
|
![]() Старейший участник ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 600 Регистрация: 7.7.2010 Из: Санкт-Петербург Пользователь №: 1866 Спасибо сказали: 94 раз(а) Репутация: ![]() ![]() ![]() |
как вариант можно сделать дочерний элемент с текстом для каждого прямоугольника.
но по моему было бы проще переопределить процедуру рисования элемента, либо возможно, можно использовать QGraphicsPixmapItem для прямоугольников (но этот вариант уже зависит от задачи). |
|
|
barabaka |
![]()
Сообщение
#5
|
Студент ![]() Группа: Участник Сообщений: 40 Регистрация: 14.11.2011 Из: Санкт-Петербург Пользователь №: 2999 Спасибо сказали: 1 раз(а) Репутация: ![]() ![]() ![]() |
Для переопределения рисования надо сабкласс делать? Если да то смогу я использовать родительский конструктор? и затем просто менять текст на прямоугольниках ?
|
|
|
barabaka |
![]()
Сообщение
#6
|
Студент ![]() Группа: Участник Сообщений: 40 Регистрация: 14.11.2011 Из: Санкт-Петербург Пользователь №: 2999 Спасибо сказали: 1 раз(а) Репутация: ![]() ![]() ![]() |
Спасибо за ответы.У меня получилось с субклассом от RectItem.
|
|
|
barabaka |
![]()
Сообщение
#7
|
Студент ![]() Группа: Участник Сообщений: 40 Регистрация: 14.11.2011 Из: Санкт-Петербург Пользователь №: 2999 Спасибо сказали: 1 раз(а) Репутация: ![]() ![]() ![]() |
Не получилось.один прямоугольник с текстом на сцену я добавил.
прямоугольника нет.задача следующая:есть на форме прямоугольник QGraphicsView.Я хочу его заполнить идущими подряд равными по ширине прямоугольниками,для которых хочу менять цвет и устанавливать текст.Это индикатор буфера. конструктор прямоугольника
|
|
|
wiz29 |
![]()
Сообщение
#8
|
![]() Старейший участник ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 600 Регистрация: 7.7.2010 Из: Санкт-Петербург Пользователь №: 1866 Спасибо сказали: 94 раз(а) Репутация: ![]() ![]() ![]() |
в чем состоит проблема?
|
|
|
barabaka |
![]()
Сообщение
#9
|
Студент ![]() Группа: Участник Сообщений: 40 Регистрация: 14.11.2011 Из: Санкт-Петербург Пользователь №: 2999 Спасибо сказали: 1 раз(а) Репутация: ![]() ![]() ![]() |
В том что прямоугольник не рисуется.
|
|
|
wiz29 |
![]()
Сообщение
#10
|
![]() Старейший участник ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 600 Регистрация: 7.7.2010 Из: Санкт-Петербург Пользователь №: 1866 Спасибо сказали: 94 раз(а) Репутация: ![]() ![]() ![]() |
В том что прямоугольник не рисуется.
Сообщение отредактировал wiz29 - 15.11.2011, 12:13 |
|
|
![]() ![]() ![]() |
![]() |
|
Текстовая версия | Сейчас: 21.6.2025, 1:18 |