crossplatform.ru

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

anater
  опции профиля:
сообщение 13.10.2010, 21:08
Сообщение #1


Студент
*

Группа: Участник
Сообщений: 21
Регистрация: 25.12.2009
Пользователь №: 1335

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




Репутация:   0  


Доброго времени суток.
Совершенно идиотская ситуация.

Определяю координаты элементов на QFrame
QLineF line(this->pb_graf->pos().x(),this->pb_graf->pos().y(),this->pb_graf->width(),this->pb_graf->height());
QRect rect(this->pb_graf->pos().x()+1,this->pb_graf->pos().y()+1,this->pb_graf->pos().x()+this->pb_graf->width()-5,this->pb_graf->height()-3);


и хочу их отрисовать.

        QPainter qppb (this);
 
 std::cout <<"X " <<this->pb_graf->geometry().x() << std::endl;
 std::cout <<"Y  " <<this->pb_graf->geometry().y() << std::endl;
 std::cout <<"W  " <<this->pb_graf->geometry().width() << std::endl;
 std::cout <<"H  " <<this->pb_graf->geometry().height() << std::endl;

    qppb.setPen(QPen(Qt::red));
qppb.drawRect(rect);    
qppb.drawLine(line);


Так прямоугольник рисуется идиально аккуратно по краям QFrame.

ЛИНИЯ!!!! по тем же координатам рисуется соответственно по диагонали но доходит примерно до середины прямоугольника. До противоположного края просто не дотягивается(!).
Уже всю голову сломал...

Помогите решить этот глюк.
Причина редактирования: пользуйтесь тагом code вместо codebox
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
Алексей1153
  опции профиля:
сообщение 13.10.2010, 21:42
Сообщение #2


фрилансер
******

Группа: Участник
Сообщений: 2944
Регистрация: 19.6.2010
Из: Обливион
Пользователь №: 1822

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




Репутация:   34  


любой рисунок можно разбить на подрисунки. А в данном случае я использовал уже вычисленные координаты (углы прямоугольника) для дальнейших расчётов (линия).

зря только QLineF - зачем тебе float при отрисовке графики ? Скорось так себе будет
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
anater
  опции профиля:
сообщение 13.10.2010, 21:44
Сообщение #3


Студент
*

Группа: Участник
Сообщений: 21
Регистрация: 25.12.2009
Пользователь №: 1335

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




Репутация:   0  


Цитата(Алексей1153 @ 13.10.2010, 22:41) *
любой рисунок можно разбить на подрисунки. А в данном случае я использовал уже вычисленные координаты (углы прямоугольника) для дальнейших расчётов (линия).

Да что ты сделал я понял.

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

Сообщений в этой теме


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


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


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