Поиск:

Ответ в темуСоздание новой темы Создание опроса
> [QT4] закрасить ячейку QTableWidget 
V
    Опции темы
devmstr
Дата 2.12.2007, 00:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Developer
**


Профиль
Группа: Участник
Сообщений: 879
Регистрация: 28.4.2004
Где: Ukraine

Репутация: нет
Всего: 11



Как закрасить ячейку QTableWidget или изменить цвет границы одной ячейки?

Смотрел в сторону:
Код

paintEvent

Но как я понял, для того что бы его использовать нужно перегрузить класс таблицы, но это не желательно....

Модератор: отредактировал название темы.

Это сообщение отредактировал(а) JackYF - 2.12.2007, 00:54


--------------------
Think different ©Steve Jobs 
user posted image
PM MAIL WWW   Вверх
JackYF
Дата 2.12.2007, 00:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


полуавантюрист
****


Профиль
Группа: Участник
Сообщений: 5814
Регистрация: 28.8.2004
Где: страна тысячи озё р

Репутация: 7
Всего: 162



Цитата(devmstr @  2.12.2007,  00:01 Найти цитируемый пост)
Но как я понял, для того что бы его использовать нужно перегрузить класс таблицы, но это не желательно.... 

унаследуйся от QTableWidget и переопредели paintEvent.


--------------------
Пожаловаться на меня как модератора можно здесь.
PM MAIL Jabber   Вверх
bsa
Дата 2.12.2007, 00:33 (ссылка) |    (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 24
Всего: 196



QTableWidgetItem::setBackground()
PM   Вверх
Любитель
Дата 2.12.2007, 00:39 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Программист-романтик
****


Профиль
Группа: Комодератор
Сообщений: 3645
Регистрация: 21.5.2005
Где: Воронеж

Репутация: 16
Всего: 92



Цитата(devmstr @  2.12.2007,  00:01 Найти цитируемый пост)
Как закрасить ячейку

Код

table->item(row, column)->setBackground(Qt::red);


Цитата(devmstr @  2.12.2007,  00:01 Найти цитируемый пост)
цвет границы одной ячейки

В чистом виде - только своя прорисовка.


--------------------
PM MAIL ICQ Skype   Вверх
devmstr
Дата 2.12.2007, 16:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Developer
**


Профиль
Группа: Участник
Сообщений: 879
Регистрация: 28.4.2004
Где: Ukraine

Репутация: нет
Всего: 11



bsa
Любитель
Большое спасибо, мне именно это и нужно было, так как наследовать класс было не удобно!


--------------------
Think different ©Steve Jobs 
user posted image
PM MAIL WWW   Вверх
Acer
Дата 7.8.2008, 09:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 652
Регистрация: 5.9.2007
Где: UA::DN

Репутация: 15
Всего: 8



Привет, тема вроде подходит для моего вопроса... Проблема в том, что у меня не изменяется цвет ячеек.. вот код:
Код

void RDataTable::updateRow(int cur, int t){
    /** Set text to 5th item **/
    this->item( cur, 4 )->setText( trUtf8( this->getTypeStr( t ) ) );

    /** generate tooltip text **/
    std::string s;
    s = "";
    s = "<html><h3>";
    s += this->getTypeStr( t );
    s += "</h3></html>";

    /** Set tooltip text **/
    this->item( cur, 4 )->setToolTip( trUtf8( s.c_str() ) );

    /** Update background color **/
    for ( int i = 0; i < RDT_COLS; i++ ){
        this->item( cur, i )->setBackgroundColor( this->getColor( cur ) );
    }

    /** Choose next **/
    this->selectRowNext();
}

Текст устанавливается, тултип устанавливается, а вот бэкграунд нет... В чем ошибка?
PM MAIL   Вверх
JackYF
Дата 7.8.2008, 12:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


полуавантюрист
****


Профиль
Группа: Участник
Сообщений: 5814
Регистрация: 28.8.2004
Где: страна тысячи озё р

Репутация: 7
Всего: 162



Цитата(Acer @  7.8.2008,  08:36 Найти цитируемый пост)
RDT_COLS

Это что?



--------------------
Пожаловаться на меня как модератора можно здесь.
PM MAIL Jabber   Вверх
Acer
Дата 7.8.2008, 13:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 652
Регистрация: 5.9.2007
Где: UA::DN

Репутация: 15
Всего: 8



Цитата(JackYF @ 7.8.2008,  12:53)
Цитата(Acer @  7.8.2008,  08:36 Найти цитируемый пост)
RDT_COLS

Это что?

колчиество столбцов

Это сообщение отредактировал(а) Acer - 7.8.2008, 13:30
PM MAIL   Вверх
Любитель
Дата 7.8.2008, 14:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Программист-романтик
****


Профиль
Группа: Комодератор
Сообщений: 3645
Регистрация: 21.5.2005
Где: Воронеж

Репутация: 16
Всего: 92



1. Проверь, что возвращает getColor(cur)
2. Замени setBackgroundColor на setBackground(QBrush(color)). Первый метод объвлен как устаревший.


--------------------
PM MAIL ICQ Skype   Вверх
Acer
Дата 8.8.2008, 09:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 652
Регистрация: 5.9.2007
Где: UA::DN

Репутация: 15
Всего: 8



Нашел ошибку. Спасибо
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С/С++: Кроссплатформенное программирование, QT/Gtk+/wxWidgets"
JackYF
Любитель
  • В заголовке темы в квадратных скобках обозначьте используемую вами библиотеку, например: [QT],[GTK],[wx].
  • Если вопрос актуален только для некоторой версии библиотеки, либо, если вы пользуетесь не самой последней версией, укажите это. Например: [QT4], [GTK2].
  • Все начинающие изучать Qt - не забудьте зайти сюда.
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • В вопросе укажите полную версию версию библиотеки, а также все дополнительные используемые программные пакеты.
  • Не забывайте пользоваться кнопкой "Код".
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к тематике этого раздела. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, Любитель.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets | Следующая тема »


 




[ Время генерации скрипта: 0.0830 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.