Russian Qt Forum
Ноябрь 24, 2024, 09:05 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: QTableWidget horizontalHeaderItem  (Прочитано 6069 раз)
n4ela
Гость
« : Май 07, 2009, 00:32 »

В дизайнере создал QTableWidget и QComboBox.
В боксе цифры 1-9
Создал слот
Код
C++ (Qt)
void MainWindow::on_comboBox_X_currentIndexChanged(QString a)
{
   ui->tableWidget->setColumnCount( a.toInt() );
   for ( int i = 0; i < a.toInt(); i++ )
       ui->tableWidget->horizontalHeaderItem( i )->setText( QString::fromLocal8Bit( "Тест"));
}
 
Но почему то не работает. При изменение бокса программа вылетает. Дебагер выдает ошибку на строчку setText
Я что то не так делаю?
Записан
¤Se®ega¤
Гость
« Ответ #1 : Май 07, 2009, 02:14 »

попробуй через
setText(QApplication::translate("MainForm", "10", 0, QApplication::UnicodeUTF8));

MainForm- objectName главного виджета.
Записан
n4ela
Гость
« Ответ #2 : Май 07, 2009, 10:16 »

Попробовал, ни чего не изменилось. Так же вылетает.
Записан
pastor
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 2901



Просмотр профиля WWW
« Ответ #3 : Май 07, 2009, 11:40 »

Очевидно, что ui->tableWidget->horizontalHeaderItem( i ) возвращает 0
Записан

Integrated Computer Solutions, Inc. (ICS)
http://www.ics.com/
n4ela
Гость
« Ответ #4 : Май 07, 2009, 14:26 »

Я не пойму что не так то?
Код
C++ (Qt)
ui->tableWidget->setColumnCount( 3 );
//Создаю 3 колонки. т.е. 0 1 2
ui->tableWidget->horizontalHeaderItem( 1 )->setText(QString::fromLocal8Bit("Тест"));
//Пишу в колонки 1 . т.е. второй по счету  Тест
 
И все равно вылетает с ошибкой. Но почему? Я же не за какие границы не вылазию, и точно не пытаюсь писать в несуществующие колонку.
Записан
spirit
Гость
« Ответ #5 : Май 07, 2009, 14:29 »

так надо создать этой айтем, либоже заюзать метод QTableWidget::setHorizontalHeaderLabels.
Записан
n4ela
Гость
« Ответ #6 : Май 07, 2009, 14:52 »

Точно. Спасибо большое. В следующий раз буду внимательнее.
Записан
pastor
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 2901



Просмотр профиля WWW
« Ответ #7 : Май 07, 2009, 15:06 »

И все равно вылетает с ошибкой. Но почему? Я же не за какие границы не вылазию, и точно не пытаюсь писать в несуществующие колонку.

Читаем внимательно:

Цитировать
QTableWidgetItem * QTableWidget::horizontalHeaderItem ( int column ) const
Returns the horizontal header item for column, column, if one has been set; otherwise returns 0.
Записан

Integrated Computer Solutions, Inc. (ICS)
http://www.ics.com/
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.091 секунд. Запросов: 23.