Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: ¤Se®ega¤ от Май 06, 2009, 16:28



Название: QTableWidget
Отправлено: ¤Se®ega¤ от Май 06, 2009, 16:28
Подскажите пожалуйста:
1) как установить цвет фона для ВСЕЙ таблицы
2) как установить цвет фона для конкретного Item
3) как установить цвет линий втаблице
4) как установить ширину столбцов
5) как установить высоту строк


Название: Re: QTableWidget
Отправлено: spirit от Май 06, 2009, 16:43
Подскажите пожалуйста:
1) как установить цвет фона для ВСЕЙ таблицы
через QPalette используя QPalette::Base
2) как установить цвет фона для конкретного Item
через Qt::BackgroundRole айтема
3) как установить цвет линий втаблице
тоже через QPalette используя QPalette::Mid
4) как установить ширину столбцов
5) как установить высоту строк
через QHeaderView::resizeSection

ЗЫ. ты бы такие вопросы помещал в разделя для новичков, а не сюда.


Название: Re: QTableWidget
Отправлено: ¤Se®ega¤ от Май 06, 2009, 18:11
6) как узнать количество строк в таблице?


Название: Re: QTableWidget
Отправлено: spirit от Май 06, 2009, 18:16
ааааа, QTableWidget::rowCount.
ну это ж вообще, лень в ассистант глянуть?


Название: Re: QTableWidget
Отправлено: ¤Se®ega¤ от Май 06, 2009, 18:55
 ::)честно, очень лень, щас просто работы навалом,не успеваю чайку выпить, вот думаю пока одно сделаю,Ю,  мн еответят ) ну вам же не сложно  ::)   :DСпасибо


Название: Re: QTableWidget
Отправлено: ¤Se®ega¤ от Май 06, 2009, 23:56
7)Подскажите как изменить цвет заголовков (вертикальных,горизонтальных) таблицы. ::)если не тяжело )))


Название: Re: QTableWidget
Отправлено: spirit от Май 07, 2009, 07:52
QPalette::Button


Название: Re: QTableWidget
Отправлено: ¤Se®ega¤ от Май 07, 2009, 13:01
не хочет  :(


Название: Re: QTableWidget
Отправлено: spirit от Май 07, 2009, 13:06
вот прямо-таки не хочет? :)
Код
C++ (Qt)
#include <QtGui>
#include <QApplication>
 
int main(int argc, char **argv)
{
QApplication app(argc, argv);
 
QTableWidget table(10, 10);
QPalette pal(table.horizontalHeader()->palette());
pal.setColor(QPalette::Button, Qt::red);
table.horizontalHeader()->setPalette(pal);
for (int row = 0; row < table.rowCount(); ++row) {
for (int column = 0; column < table.columnCount(); ++column) {
QTableWidgetItem *newItem = new QTableWidgetItem(QString("%1").arg((row+1)*(column+1)));
table.setItem(row, column, newItem);
}
}
table.show();
return app.exec();
}
 


Название: Re: QTableWidget
Отправлено: ¤Se®ega¤ от Май 07, 2009, 13:16
не так,конечно, я через Creator редактирую ui-файл.там палитру изменяю.Base поменял цвет всей таблицы, а вот Button не хочет. придется ручками )))Спасибо.


Название: Re: QTableWidget
Отправлено: spirit от Май 07, 2009, 13:20
и в дизайнере все меняется.
не ну ты вообще лентяй: погладеть в ассистант это лаадно
(хотя тоже ничего хорошего), но что бы в дизайнере самому с палитрой поигратся -- это ж вообще мрак! :o


Название: Re: QTableWidget
Отправлено: ¤Se®ega¤ от Май 07, 2009, 13:34
А у мну не получается, ну да ладно.
Цвет столбцов заменен специально.Base работает.


Название: Re: QTableWidget
Отправлено: spirit от Май 07, 2009, 13:36
а что это у тебя за стиль? и это под виндой?


Название: Re: QTableWidget
Отправлено: pastor от Май 07, 2009, 13:38
Я понимаю, что правила придуманы чтобы их нарушать, но все же, их знать нужно - Правила форума (http://www.prog.org.ru/topic_9170_0.html).

¤Se®ega¤, обрати внимание на раздел Прежде чем задать вопрос

Цитировать
Строит глазкичестно, очень лень, щас просто работы навалом,не успеваю чайку выпить,

Другие форумчане тоже не живут на форуме, у  них тоже работа, дела.



Название: Re: QTableWidget
Отправлено: ¤Se®ega¤ от Май 07, 2009, 14:01
to spеirit: просто styleSheet?никакого.просто изменяю палитры и все. а столбцы потом меняю следующим образом:

for(int i=0;i<ui_main_form.tableWidget->rowCount();i++){
ui_main_form.tableWidget->item(i,0)->setBackground(Qt::white);
ui_main_form.tableWidget->item(i,1)->setBackground(Qt::green);
ui_main_form.tableWidget->item(i,2)->setBackground(QBrush(QColor::QColor(0,80,0,255),Qt::SolidPattern));
ui_main_form.tableWidget->item(i,3)->setBackground(Qt::red);
ui_main_form.tableWidget->item(i,4)->setBackground(QBrush(QColor::QColor(122,0,122,255),Qt::SolidPattern));
}
ui_main_form.tableWidget->item(5,0)->setBackground(QBrush(QColor::QColor(0,0,255,255),Qt::SolidPattern));
Винда, Qt 4.4.3
Да оно и так нормально смотрится )))

to pastor: я понимаю, всех у кого отвлекаю время прощу прощения, но щас просто горит проект.Если не затруднит, не сочтите за флуд ::)


Название: Re: QTableWidget
Отправлено: spirit от Май 07, 2009, 14:02
ну вот из-за style sheet'a може и бородить.