Название: Qt4.0.0 QTableWidgetItem: пустая строка? Отправлено: Turing от Декабрь 28, 2005, 09:59 Qt4.0.0
При вызовеQTableWidgetItem::text () прога выдает ошибку, если в этой ячейке таблицы нет текста. А разве эта функция не может возвратить пустую строку ??? Может есть какие-нибудь флаги указывающие, что в ячейке таблицы нет текста?! Может кто знает как решить эту проблему?! Название: Qt4.0.0 QTableWidgetItem: пустая строка? Отправлено: Dendy от Декабрь 28, 2005, 10:02 Код в студію. Та версію Qt.
Название: Qt4.0.0 QTableWidgetItem: пустая строка? Отправлено: Turing от Декабрь 28, 2005, 10:20 QTableWidget *tableWidget;
.... QTableWidgetItem *tableWidgetItem; QString string; tableWidgetItem = tableWidget->item(0, 0); string = tableWidgetItem->text(); //здесь и падает прога .... Название: Qt4.0.0 QTableWidgetItem: пустая строка? Отправлено: Dendy от Декабрь 28, 2005, 10:39 Хммм... перевір що повертає:
Код: tableWidgetItem = tableWidget->item(0, 0); Название: Qt4.0.0 QTableWidgetItem: пустая строка? Отправлено: Turing от Декабрь 28, 2005, 10:49 У меня оригинального кода нет под рукой...
Все писал на скорую руку. Весь смысл в том, что tableWidgetItem->text() для непустой строки таблицы отлично работает, а для пустой выдает ошибку!!! добавлено спустя 1 минуту: Цитата: "Dendy" Хммм... перевір що повертає: Код: tableWidgetItem = tableWidget->item(0, 0); Нет Название: Qt4.0.0 QTableWidgetItem: пустая строка? Отправлено: Steven_Orko от Декабрь 28, 2005, 12:50 А версия Qt какая?? Когда происходит обращение к элементу, не содержащему текст, выдается объект QVaraint, тип хранения данных которого установленн как Invalid.
Сам метод text() вызывает преобразование в строку объекта типа QVariant, а тот Invalid. Вот и получается падение. Хотя у меня в 4.1 все прекрасно работает и возвращает пустая строка... Название: Qt4.0.0 QTableWidgetItem: пустая строка? Отправлено: Dendy от Декабрь 28, 2005, 13:08 Сам не дивився, але може QTableWidget не перевіряє що індекс за межами масиву (заради оптимізації)? Ось і повертає тобі якийсь вказівач ні на що. Зкомпіль з дебажними лібами - там стоять перевірки на індекси.
Название: Qt4.0.0 QTableWidgetItem: пустая строка? Отправлено: Turing от Декабрь 29, 2005, 13:38 Цитата: "Steven_Orko" А версия Qt какая?? Когда происходит обращение к элементу, не содержащему текст, выдается объект QVaraint, тип хранения данных которого установленн как Invalid. Сам метод text() вызывает преобразование в строку объекта типа QVariant, а тот Invalid. Вот и получается падение. Хотя у меня в 4.1 все прекрасно работает и возвращает пустая строка... Версия 4.0.0 Спасибки за помощь ;) |