Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: Danila_Bagrofff от Сентябрь 10, 2009, 12:21



Название: Qt 4.5.0 Linux QTableWidget item()->setBackground() ошибка
Отправлено: Danila_Bagrofff от Сентябрь 10, 2009, 12:21
Есть таблица:
QTableWidget *tw = new QTableWidget(5,5);
Нужно установить определенную заднюю подсветку ячейкам.
Выполняю:
tw->item(1, 1)->setBackground(QBrush(QColor::QColor(0,80,0,255),Qt::SolidPattern));

B вылетает.

Пробовал много проще завать параметры:
tw->item(1,1)->setBackground(QBrush(QColor(230,230,230)));

И все-равно вылетает... Хотя вроде когда-то раньше (может, при другой версии qt) все работало.

Что-то неправильно?


Название: Re: Qt 4.5.0 Linux QTableWidget item()->setBackground() ошибка
Отправлено: BRE от Сентябрь 10, 2009, 12:26
А кто сами item'ы будет создавать и устанавливать setItem?


Название: Re: Qt 4.5.0 Linux QTableWidget item()->setBackground() ошибка
Отправлено: Danila_Bagrofff от Сентябрь 10, 2009, 12:38
ёперный театр...
точно...

Сделал так:
tw->setItem(1,1, new QTableWidgetItem());
tw->item(1,1)->setBackground(QBrush(QColor(230,0,0)));

Но цвет не изменился...


Название: Re: Qt 4.5.0 Linux QTableWidget item()->setBackground() ошибка
Отправлено: BRE от Сентябрь 10, 2009, 13:05
Но цвет не изменился...
Все меняется (qt-4.5.2-3.fc11.i586).
Код
C++ (Qt)
#include <QApplication>
#include <QTableWidget>
 
int main(int argc, char** argv)
{
   QApplication application(argc,argv);
 
   QTableWidget *viewer = new QTableWidget( 5, 5 );
 
   QTableWidgetItem *item = new QTableWidgetItem;
   viewer->setItem( 1, 1, new QTableWidgetItem() );
   viewer->item( 1, 1 )->setBackground( QBrush( QColor(255,255,0) ) );
 
   viewer->show();
 
   return application.exec();
}
 


Название: Re: Qt 4.5.0 Linux QTableWidget item()->setBackground() ошибка
Отправлено: BRE от Сентябрь 10, 2009, 13:12
2  Danila_Bagrofff
Цитировать
Russian Fedora 10 + Qt-4.5.0 + KDevelop 3.5.3

На Fedore 10 в репозитории уже давно Qt 4.5.2. Ты бы обновился.  ;)


Название: Re: Qt 4.5.0 Linux QTableWidget item()->setBackground() ошибка
Отправлено: Danila_Bagrofff от Сентябрь 10, 2009, 13:21
понял, в чем трабла, я просто устанавливаю подсветку итемов до отображения таблицы. Хотя не ясно почему он не хочет запомнить параметры изменений...

Потом выставляю еще кучу параметров. И выстраиваю в таблицу другие элементы.

Видимо надо переопределять showEvent.

Разница в 4.5.2  думаю, не столь велика =)