Поиск:

Ответ в темуСоздание новой темы Создание опроса
> [Qt] QTable отрисовать границы, как отрисовать границы заголовка таблицы 
:(
    Опции темы
VirLena
Дата 5.6.2008, 16:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



В продолжении моей темы "Шапка в таблице QTable"
Поскольку в Qt я без малого месяц вот и возникают такие вопросы. В таблице я рисую свою шапку, сначала отключаю стандарные Header, затем в верхнии строки таблицы вставляю итемы, которые затем переопределяя функцию QTableItem::paint закрашиваю в нужный мне цвет, вот встал вопрос как теперь отрисовать границы данных итемов, чтоб шапка получилась объемной?  smile 


PM MAIL ICQ   Вверх
Elfebet
Дата 5.6.2008, 17:14 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 545
Регистрация: 15.5.2006
Где: Украина. Запорожь е.

Репутация: 5
Всего: 14



ну вообще-то 
Код

int w = this->width();
int h = this->height();
QPainter paiter;
painter.setPen(Qt::black);
painter.setBrush(Qt::white);
painter.drawRect(0,0,w-1,h-1);


будет белый фон с черной рамкой

а лучше покажи код как рисуеш


--------------------
Программист не должен всё знать... он должен знать где можно посмотреть
PM MAIL ICQ GTalk   Вверх
VirLena
Дата 6.6.2008, 09:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Код

class MyTableItem : public QTableItem
{

public:

  MyTableItem(QTable *table, EditType et, const QString &text)
 {
 }

 void paint(QPainter *p, const QColorGroup &cg, const QRect &cr, bool selected)
 {
    QColorGroup cgNew(cg);
    cgnew.setColor(QColorGroup::Base, QColor(133,133,133));
    QTableItem::paint(p,cgNew,cr,selected);
 }
};


Эту функцию я использую для зарисовки всех моих итемов, которые используются в шапке таблицы, теперь к ним нужны границы  smile 
PM MAIL ICQ   Вверх
Elfebet
Дата 6.6.2008, 09:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 545
Регистрация: 15.5.2006
Где: Украина. Запорожь е.

Репутация: 5
Всего: 14



хм..... ну вставь перед или после QTableItem::paint(p,cgNew,cr,selected), этот код
Код

//p->setPen(Qt::black);
p->setPen(QPen(Qt::black, 2));
p->setBrush(QColor(0,0,0,0));
p->drawRect(0, 0, cr.width()-1, cr.height()-1);



--------------------
Программист не должен всё знать... он должен знать где можно посмотреть
PM MAIL ICQ GTalk   Вверх
VirLena
  Дата 6.6.2008, 09:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



класс  smile 
правда отрисовало только внутренние границы ячеек, внешние проигнорировало

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


Новичок



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

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



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

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

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


 




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


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

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