crossplatform.ru

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

jim1406
  опции профиля:
сообщение 9.4.2009, 6:28
Сообщение #1


Студент
*

Группа: Участник
Сообщений: 27
Регистрация: 17.3.2009
Пользователь №: 618

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




Репутация:   0  


Доброго времени суток...
Есть объект QTableWidget. Нужно "хитро" отображать текст в ячейках. В начале, в качестве проверки, просто пытаюсь воткнуть в ячейку прогресбар (из хелпа).

Пишу:
commanditemdelegate.h
#ifndef COMMANDITEMDELEGATE_H
#define COMMANDITEMDELEGATE_H

#include <QtGui>

class QStyledItemDelegate;

class CommandItemDelegate : public QStyledItemDelegate
{
    Q_OBJECT

public:
    CommandItemDelegate(QObject *parent = 0);
    ~CommandItemDelegate();

    void paint(QPainter *painter, QStyleOptionViewItem &option, QModelIndex &index);

};

#endif // COMMANDITEMDELEGATE_H


commanditemdelegate.cpp
#include "commanditemdelegate.h"
#include <QStyledItemDelegate>

CommandItemDelegate::CommandItemDelegate(QObject *parent) : QStyledItemDelegate(parent)
{
}

CommandItemDelegate::~CommandItemDelegate()
{
}

void CommandItemDelegate::paint(QPainter *painter, QStyleOptionViewItem &option, QModelIndex &index)
 {
         int progress = 50;

         QStyleOptionProgressBar progressBarOption;
         progressBarOption.rect = option.rect;
         progressBarOption.minimum = 0;
         progressBarOption.maximum = 100;
         progressBarOption.progress = progress;
         progressBarOption.text = QString::number(progress) + "%";
         progressBarOption.textVisible = true;

         QApplication::style()->drawControl(QStyle::CE_ProgressBar,
                                            &progressBarOption, painter);
    }


в описании класса окна (диалога) на котором таблица
private:
    CommandItemDelegate *commandItemDelegate;//делегат для команд


в конструкторе окна (диалога) на котором таблица
    commandItemDelegate = new CommandItemDelegate();
    ui->tableWidgetAliases->setItemDelegate(commandItemDelegate);


результат нулевой. все тот же текст в ячейках. редактирование сейчас не интересует, поэтому не переопределяю другие функции делегата.

Вопрос: где я не прав?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


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


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


RSS Рейтинг@Mail.ru Текстовая версия Сейчас: 8.6.2025, 2:17