crossplatform.ru

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

 
Ответить в данную темуНачать новую тему
> Конструктор QColor, Проблема с конструктором QColor
AD
  опции профиля:
сообщение 20.1.2011, 11:02
Сообщение #1


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

Группа: Участник
Сообщений: 2003
Регистрация: 4.2.2008
Из: S-Petersburg
Пользователь №: 84

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




Репутация:   17  


Использую следующий конструктор Qcolor:
Цитата
QColor::QColor ( const QString & name )
Constructs a named color in the same way as setNamedColor() using the given name.
The color is left invalid if the name cannot be parsed.
See also setNamedColor(), name(), and isValid().

Вот код
/// Пoлyчeнue цвema фoнa kнonku
    QColor backgroundButton(QPushButton* btn)
    {
        QString style_sheet(btn -> styleSheet());
        QString bckgr_clr_name(style_sheet.section(QString("background-color:"), 1, style_sheet.size()));
        bckgr_clr_name = bckgr_clr_name.section(QChar(';'), 0, 0).simplified();
        return QColor(bckgr_clr_name);
    }

Проблема в том, что не происходит инициализация.
В строчке имени цвета проверил, все правильно. Примерно такие строчки:
"#552A70", "#B1009E", "#019545"
Почему не работает? Qt 4.3.2
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
igor_bogomolov
  опции профиля:
сообщение 20.1.2011, 11:26
Сообщение #2


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

Группа: Сомодератор
Сообщений: 1215
Регистрация: 22.3.2009
Из: Саратов
Пользователь №: 630

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




Репутация:   29  


QColor("#552A70") прекрасно работает. По крайней мере сейчас. На Qt 4.3.2 нет возможности проверить.
Выведи перед return свой QColor через qDebug и посмотри проинициализирован он или нет.
Если нет, значит бага этой версии Qt, можешь по bugreports.qt.nokia.com проверить.
Если все нормально, значит ошибка где то в другом месте закралась.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
AD
  опции профиля:
сообщение 20.1.2011, 11:50
Сообщение #3


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

Группа: Участник
Сообщений: 2003
Регистрация: 4.2.2008
Из: S-Petersburg
Пользователь №: 84

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




Репутация:   17  


Цитата(igor_bogomolov @ 20.1.2011, 11:26) *
QColor("#552A70") прекрасно работает. По крайней мере сейчас. На Qt 4.3.2 нет возможности проверить.
Выведи перед return свой QColor через qDebug и посмотри проинициализирован он или нет.
Если нет, значит бага этой версии Qt, можешь по bugreports.qt.nokia.com проверить.
Если все нормально, значит ошибка где то в другом месте закралась.

Спасибо. Нашел ошибку. В строчке помимо заданных номеров не вырезаны были определенные символы. В дебаге их не с первого взгляда увидел....
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

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


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




RSS Текстовая версия Сейчас: 28.1.2025, 19:51