Цвет линий графика, неясно почему не устанавливается |
Здравствуйте, гость ( Вход | Регистрация )
Цвет линий графика, неясно почему не устанавливается |
AD |
25.4.2008, 10:45
Сообщение
#1
|
Профессионал Группа: Участник Сообщений: 2003 Регистрация: 4.2.2008 Из: S-Petersburg Пользователь №: 84 Спасибо сказали: 70 раз(а) Репутация: 17 |
Цвета линий читаются из файла и записываются в вектор. Вид записи: #RRGGBB или стандартно-определенные (red, blue, etc). Записываю этот цвет в QColor. При чтении на другом куске кода почему-т все время выдается черный цвет. как от это бага избавится?
Вот кусок записи кода:
Вот присвоение уже QColor:
А вот здесь все время выдается #000000:
Сообщение отредактировал AD - 25.4.2008, 10:56 |
|
|
ViGOur |
25.4.2008, 10:53
Сообщение
#2
|
Мастер Группа: Модератор Сообщений: 3296 Регистрация: 9.10.2007 Из: Москва Пользователь №: 4 Спасибо сказали: 231 раз(а) Репутация: 40 |
Я бы на твоем месте сдела не vector<QFactParam>, а vector<QFactParam*>.
|
|
|
AD |
25.4.2008, 10:56
Сообщение
#3
|
Профессионал Группа: Участник Сообщений: 2003 Регистрация: 4.2.2008 Из: S-Petersburg Пользователь №: 84 Спасибо сказали: 70 раз(а) Репутация: 17 |
|
|
|
ViGOur |
25.4.2008, 12:22
Сообщение
#4
|
Мастер Группа: Модератор Сообщений: 3296 Регистрация: 9.10.2007 Из: Москва Пользователь №: 4 Спасибо сказали: 231 раз(а) Репутация: 40 |
У тебя будет происходить куча операций копирования.
Посмотри на результат работы данного кода. Я его для примера написал.
|
|
|
Andrew Selivanov |
25.4.2008, 12:30
Сообщение
#5
|
Участник Группа: Участник Сообщений: 249 Регистрация: 9.10.2007 Из: Москва Пользователь №: 3 Спасибо сказали: 15 раз(а) Репутация: 6 |
Вот присвоение уже QColor:
У тебя цикл for только для первого if, остальное почему-то на том же уровне, но выполняется оно не в цикле. |
|
|
AD |
25.4.2008, 13:34
Сообщение
#6
|
Профессионал Группа: Участник Сообщений: 2003 Регистрация: 4.2.2008 Из: S-Petersburg Пользователь №: 84 Спасибо сказали: 70 раз(а) Репутация: 17 |
У тебя будет происходить куча операций копирования. Посмотри на результат работы данного кода. Я его для примера написал. Посмотрел код, действительно некрасиво. Но как это к моему случаю относится? Можно пример правильного кода относительно моей программы! Заранее благодарю! |
|
|
ViGOur |
25.4.2008, 14:00
Сообщение
#7
|
Мастер Группа: Модератор Сообщений: 3296 Регистрация: 9.10.2007 Из: Москва Пользователь №: 4 Спасибо сказали: 231 раз(а) Репутация: 40 |
Соответственно в коде исправляешь vector<QFactParam> на vector<QFactParam*>...
|
|
|
Litkevich Yuriy |
25.4.2008, 16:04
Сообщение
#8
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
|
|
|
ViGOur |
25.4.2008, 16:26
Сообщение
#9
|
Мастер Группа: Модератор Сообщений: 3296 Регистрация: 9.10.2007 Из: Москва Пользователь №: 4 Спасибо сказали: 231 раз(а) Репутация: 40 |
В данном случае используется не Qt'шный QVector, а STL vector. Но в принципе желательно также использовать указатели.
|
|
|
Tonal |
28.4.2008, 10:25
Сообщение
#10
|
Активный участник Группа: Участник Сообщений: 452 Регистрация: 6.12.2007 Из: Новосибирск Пользователь №: 34 Спасибо сказали: 69 раз(а) Репутация: 17 |
По приведённому тобой коду нельзя сказать где ошибка.
Несколько уточняющих вопросов: 1) Во втором куске кода, где и как определено имя clr? 2) Покажи конструктор, QFactParam который там вызывается. 3) Второй и 3ий кусок кода как распологаются друг относительно друга (в одном блоке, в одной процедуре, в одном классе...)? Предположение, основанное на телепатии - в QFactParam ты запоминаешь адрес локального объекта, который разрушается при выходе из блока, а используешь этот адрес совсем в другой функции. По поводу хранения в векторах объектов и указателей - правильно использовать то, что нужно для задачи, а не что попало. Сообщение отредактировал Tonal - 28.4.2008, 10:26 |
|
|
Текстовая версия | Сейчас: 26.12.2024, 18:00 |