Russian Qt Forum

Qt => Установка, сборка, отладка, тестирование => Тема начата: aviabunin от Октябрь 05, 2011, 19:39



Название: Как сменить background ячейки QTableWidget?
Отправлено: aviabunin от Октябрь 05, 2011, 19:39
В дизайнере на форму поставил QTableWidget и попробовал сменить фон ячейки.Получаю ошибку
Код:
#include "mainwindow.h"
#include "ui_mainwindow.h"

MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
    ui->tableWidget->item(1,1)->setBackground(Qt::red);
}

MainWindow::~MainWindow()
{
    delete ui;
}

Это уже тестовый вариант. Основной в приложении.
В нем - рисую на QTableWidget

На основной форме verticalLayout поверх QTableWidget.
Специальный класс для рисования qpaintwidget.
По таблице перемещаюсь стрелочками, по клавишам F3-F6 рисую сторону ячейки другим цветом.
Когда 4 стороны перекрашены - хочу перекрасить ячейку.
Тоже получаю ошибку.




Спасибо за любую подсказку или ссылку!


Название: Re: Как сменить background ячейки QTableWidget?
Отправлено: aviabunin от Октябрь 05, 2011, 21:41
Неожиданно для меня оказалось, что мало создать QTable, нужно еще
создать ячейки и занести их в QTableWidget.

Код:
    for (int i=0; i<10; i++)
        for(int j=0;j<10;j++)
       {
           QTableWidgetItem *t = new QTableWidgetItem("");
           ui->tableWidget->setItem(i,j,t);
       }
После этого можно уже
   
Код:
  ui->tableWidget->item(i,j)->setBackground(Qt::red);