crossplatform.ru

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

barabaka
  опции профиля:
сообщение 14.11.2011, 12:17
Сообщение #1


Студент
*

Группа: Участник
Сообщений: 40
Регистрация: 14.11.2011
Из: Санкт-Петербург
Пользователь №: 2999

Спасибо сказали: 1 раз(а)




Репутация:   2  


Здравствуйте.Вопрос следующий: у меня есть QGraphicsRectItem,в который я добавляю объекты с помощью addRect() прямо в классе главного окна приложения.После этого я получаю их список с помощью items() и потом мне в моей программе по условию надо нарисовать на них текст.Это можно сделать без сабклассов? Чтобы просто с помощью указателя на айтем нарисовать текст на нём?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
barabaka
  опции профиля:
сообщение 15.11.2011, 12:45
Сообщение #2


Студент
*

Группа: Участник
Сообщений: 40
Регистрация: 14.11.2011
Из: Санкт-Петербург
Пользователь №: 2999

Спасибо сказали: 1 раз(а)




Репутация:   2  



MainWindow.cpp

QRectF sr=ui->graphicsView->rect(); 
for(int i=0;i<buf;i++)
 {
     MyRect *mr=new MyRect(sr.left()*i,0.0,sr.width()/buf,sr.height());
     mr->setText("Hi");
     qscene->addItem(mr);
 }


MyRect.cpp

MyRect::MyRect(qreal x,qreal y,qreal w,qreal h):QGraphicsRectItem(x,y,w,h)
{
    mystring="!";
    rectf.setRect(x,y,w,h);
}
void MyRect::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget)
{
painter->drawRect(rectf.x(),rectf.y(),rectf.width(),rectf.height());     painter->drawText(0,0,13.8,20.2,Qt::AlignCenter,mystring);
}


почему рисуется только один прямоугольник? правильной ширины,но один
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме
- barabaka   QGraphicsRectItem с текстом   14.11.2011, 12:17
- - wiz29   вопрос не совсем понятен. возможно лучше просто ис...   14.11.2011, 12:58
- - barabaka   Да. Метод Items() возвращает список QGraphicsItems...   14.11.2011, 16:20
- - wiz29   как вариант можно сделать дочерний элемент с текст...   14.11.2011, 16:30
- - barabaka   Для переопределения рисования надо сабкласс делать...   14.11.2011, 16:37
- - barabaka   Спасибо за ответы.У меня получилось с субклассом о...   14.11.2011, 21:02
- - barabaka   Не получилось.один прямоугольник с текстом на сцен...   15.11.2011, 3:16
- - wiz29   в чем состоит проблема?   15.11.2011, 9:09
- - barabaka   В том что прямоугольник не рисуется.   15.11.2011, 11:58
|- - wiz29   Цитата(barabaka @ 15.11.2011, 12:58) В то...   15.11.2011, 12:13
- - barabaka   MainWindow.cpp QRectF sr=ui->graphicsView-...   15.11.2011, 12:45
- - wiz29   наверное потому что код должен быть таким QRectF s...   15.11.2011, 12:56
- - barabaka   Спасибо огромное! вместо rect.left() --...   15.11.2011, 13:03
- - barabaka   QList<QGraphicsItem *> glist=qscene->i...   15.11.2011, 14:57
|- - wiz29   Цитата(barabaka @ 15.11.2011, 15:57) QLis...   15.11.2011, 20:45
- - barabaka   Можно закрывать тему.Всё работает.   16.11.2011, 0:30


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


RSS Рейтинг@Mail.ru Текстовая версия Сейчас: 17.7.2025, 22:14