Автор: Alexander Zhukov 25.12.2007, 13:03
Исходные данные: Qt 4-2-2 for VS + Qt Integration
Задача: Для созданного в граф. редакторе проекта, в котором есть QTableWidget убрать/убить/расстрелять верхний хедер. Чтобы табличка начиналась прям с первой строки. По идее должна помочь takeHorizontalHeaderItem последовательно для всех колонок, но у меня она возвращает всегда NULL (0), как впрочем и все остальные takeItem функции от QTableWidget компонента.
Автор: ViGOur 25.12.2007, 14:36
Может покажешь код, как ты это делаешь?
Автор: Alexander Zhukov 25.12.2007, 14:46
Цитата(ViGOur @ 25.12.2007, 14:36)
Может покажешь код, как ты это делаешь?
Вот собс-но тот код, который я вписал сам, помимо сгенеренного студией проекта (формочка с расположенным QTableWidgetом на котором в редакторе свойств я поставил 1 колонку и 6 рядов) и кнопка. В обработчике кнопки на нажатие (тоже обработчик сгенерен студией)
QTableWidgetItem *newItem;
int i;
for (i=0;i<=1 ;i++)
{
newItem = ui.tableWidget->takeHorizontalHeaderItem (i);
}
и в дебаггере newItem всегда 0. Если я создам QTableWidgetItem сам и поставлю его
в табличку функцией setHorizontalHeaderItem - то все работает нормально - по тексту айтема видно.
Автор: ViGOur 25.12.2007, 15:04
Цитата(Alexander Zhukov @ 25.12.2007, 14:46)
Если я создам QTableWidgetItem сам и поставлю его
в табличку функцией setHorizontalHeaderItem - то все работает нормально - по тексту айтема видно.
Вообще-то правильно, что он тебе возвращает ноль, у тебя же как я понимаю не заданы QTableWidgetItem для QTableWidget.
Или ты хотел что-то другое сообразить?
Автор: ViGOur 25.12.2007, 15:53
Хотя вот нашел, как можно спрятать заголовок иначе:
QTableWidget *pTableWidget;
// ...
pTableWidget->horizontalHeader()->setVisible(false);
Автор: Alexander Zhukov 25.12.2007, 17:05
Ага, пасибо, работает!!! Прячется!!