Russian Qt Forum
Октябрь 01, 2024, 22:23 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Магия цвета или помогите понять где я допустил ошибку )))  (Прочитано 3007 раз)
paff
Гость
« : Октябрь 27, 2013, 17:48 »

Здравствуйте форумчане.
Есть проблема. Суть - при рисовании (нужен кружок зеленого или красного цвета) не отображается эллипс нужного цвета, любой другой пожалуйста, а зеленый и красный нет(((
Код представляю, QT 3.3.3!!!
Код:
void MyLabel::drawRam( QPainter *pp, QColor cc, QColor ccc )
{
    pp->save();
    pp->setPen( QPen( ccc, 6) );
    pp->setBrush( NoBrush );
    pp->drawRect( rx, ry, 210, 70 );
    pp->drawRect(rx, ry, 120, 35);
    pp->drawRect(rx + 120, ry, 90, 35);
    pp->drawRect(rx, ry + 35, 120, 35);
    pp->drawRect(rx + 120, ry + 35, 90, 35);
    pp->drawRect(rx, ry + 70, 210, 35);
    pp->drawLine(rx + 160, ry + 70, 160, 106);
   
    pp->setPen( QPen( cc, 2, Qt::SolidLine) );
    pp->drawRect( rx, ry, 210, 70 );//ПУОПЧОБС ТБНЛБ
    pp->drawRect(rx, ry, 120, 35);
    pp->drawRect(rx + 120, ry, 90, 35);
    pp->drawRect(rx, ry + 35, 120, 35);
    pp->drawRect(rx + 120, ry + 35, 90, 35);
    pp->drawRect(rx, ry + 70, 210, 35);
    pp->drawLine(rx + 160, ry + 70, 160, 106);
    /* Собственно тут рисование нужного круга*/
    pp->setPen( QPen( Qt::blue, 2, Qt::SolidLine ));
    pp->setBrush( Qt::red, Qt::SolidPattern ) );
    pp->drawEllipse( 175, 75, 25 ,25);

    drawColoredText( (char*)"Tahoma", 16, rx + 5, ry + 20, QString(tr("дП лф N")), pp, cc, ccc);
    drawColoredText( (char*)"Tahoma", 16, rx + 5, ry + 50, QString(tr("дП РХОЛФБ")), pp, cc, ccc);
    drawColoredText( (char*)"Tahoma", 16, rx + 5, ry + 65, QString(tr("ОБЪОБЮЕОЙС")), pp, cc, ccc);
    drawColoredText( (char*)"Tahoma", 15, rx + 5, ry + 86, QString(tr("рТЙЪОБЛ")), pp, cc, ccc);
    drawColoredText( (char*)"Tahoma", 15, rx + 5, ry + 100, QString(tr("ОБИПЦДЕОЙС Ч ър")), pp, cc, ccc);
    drawColoredText( (char*)"Tahoma", 16, rx + 130, ry + 25, ktKm_d, pp, cc, ccc);
    drawColoredText( (char*)"Tahoma", 16, rx + 135, ry + 60, pnKm_d, pp, cc, ccc);
    pp->restore();
}
Всем откликнувшимся огромное СПС!!!
Записан
gil9red
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 1805



Просмотр профиля WWW
« Ответ #1 : Октябрь 27, 2013, 21:55 »

Как я понимаю, вы рисуете эллипс этой функцией:
Код:
void QPainter::drawEllipse ( int x, int y, int w, int h )

Функция рисует эллипс, заданный прямоугольником.

Проверьте:
Код:
pp->drawEllipse( 175, 75, 175 + 25 , 75 + 25);

PS.
Посмотрел код, и не увидел ничего более подозрительного Улыбающийся
« Последнее редактирование: Октябрь 27, 2013, 22:00 от gil9red » Записан

paff
Гость
« Ответ #2 : Октябрь 27, 2013, 23:04 »

Как я понимаю, вы рисуете эллипс этой функцией:
Код:
void QPainter::drawEllipse ( int x, int y, int w, int h )

Функция рисует эллипс, заданный прямоугольником.

Проверьте:
Код:
pp->drawEllipse( 175, 75, 175 + 25 , 75 + 25);

PS.
Посмотрел код, и не увидел ничего более подозрительного Улыбающийся

Спасибо за потраченное на меня время ))) Проблема состоит в том, что если указать цвет кисти или карандаша отличный от зеленого или красного, то рисует все нормально, но! если указать именно эти цвета, а они нужны, то просто пусто и все. (((
Записан
Old
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4350



Просмотр профиля
« Ответ #3 : Октябрь 27, 2013, 23:10 »

Может дело в альфаканале?
Можно попробовать немного изменить цвет? Т.е. вместо красного (255,0,0) использовать (255,1,1) и посмотреть что получиться.
Записан
deMax
Хакер
*****
Offline Offline

Сообщений: 600



Просмотр профиля
« Ответ #4 : Октябрь 31, 2013, 08:57 »

На Qt4.8.4 работает, вы бы выкладывали компилирующийся код
pp->setBrush( QBrush(Qt::red, Qt::SolidPattern ) );
pp->setBrush( Qt::NoBrush );

Попробуйте задавать цвет через QColor(255,0,0) вместо Qt::red, еще можно QColor::fromRgb(255,0,0) или даже QColor::fromRgba(255,0,0,255)
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.191 секунд. Запросов: 23.