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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Qt Linux проблема с цветами  (Прочитано 1481 раз)
qwyllum
Гость
« : Июль 30, 2013, 06:49 »

Доброго времени суток, уважаемые форумчане! С-но, есть код:
Код:
void Shape::paint(QPainter *painter,
                    const QStyleOptionGraphicsItem *option,
                    QWidget *widget)
{
//проверка на выделение если выделен - красный контур
if(isSelected())
{
   painter->setPen(Qt::red);
 
}
else
{
    painter->setPen(Qt::black);
}
/////////////////////////////////////////////////////

QPen pen;

painter->setPen(pen);
painter->drawPath(m_shape);//сформированный контур объекта

painter->drawText(m_shape.boundingRect(), name);//имя объекта
}

Когда он писался, то проверялся на Windows и все отлично работало. При сборке под Liunx(Ubuntu 13.04) при выделении объекта мышью, его цвет не меняется, хотя все остальные функции - перемещение объекта и т.п. по-прежнему работают. Поэтому возник вопрос - что нужно исправить, чтобы код заработал как раньше?

Пробовал сделать вот так:
Код:
if(isSelected())
{
    QColor red=QColor(255,0,0);
   painter->setPen(red);

}

Но результат по-прежнему печален.
Записан
GreatSnake
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2921



Просмотр профиля
« Ответ #1 : Июль 30, 2013, 07:49 »

Но результат по-прежнему печален.
Правильно, т.к. последующие
Код
C++ (Qt)
QPen pen;
 
painter->setPen(pen);
сбрасывают цвет в дефолтный, т.е. в чёрный.
Записан

Qt 5.11/4.8.7 (X11/Win)
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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