Название: Установка в ячейку таблицы числа Отправлено: Crazy D0G от Апрель 12, 2011, 18:03 Приветствую. Имеется слот, который вызывается при нажатии на кнопку. Он должен взять числа из ячеек одной таблицы, далее они определенным образом считаются и выводятся в ячейку другой таблицы. Код:
Код: void mainWnd::distance() Название: Re: Установка в ячейку таблицы числа Отправлено: blood_shadow от Апрель 12, 2011, 22:10 Вопрос - как заставить выводить число? если я правильно понял: Код
а что это за сигнал tableWidget_2->setItem(firstPoint, secondPoint, item); ? он самопальный? если да то лучше поменять имя как-то оно не отбражает смысл операции + совпадает с именем слота Название: Re: Установка в ячейку таблицы числа Отправлено: Crazy D0G от Апрель 12, 2011, 23:41 blood_shadow, спасибо за внимание
Цитировать а что это за сигнал tableWidget_2->setItem(firstPoint, secondPoint, item); ? он самопальный? Это по глупости влепил emit, да, он там не нужен.При использовании вашего кода ругается на invalid use of void expression в этой строке: Код: item->setData(Qt::EditRole, tableData.setValue(tmp)); Судя по родным мануалам, QTableWidgetItem текст выводит вообще без проблем, а вот вариантов вывода числа, я не нашел. Возможно неопытность сказывается, я не так уж и давно начал заниматься, хотя заинтересовало Qt еще осенью. Возможно попробовать преобразовать число в строку? Но как-то не хочется думать, что нет в Qt собственного, более красивого способа. Название: Re: Установка в ячейку таблицы числа Отправлено: blood_shadow от Апрель 12, 2011, 23:51 blood_shadow, спасибо за внимание а я там завтыкал еще колонкуЦитировать а что это за сигнал tableWidget_2->setItem(firstPoint, secondPoint, item); ? он самопальный? Это по глупости влепил emit, да, он там не нужен.При использовании вашего кода ругается на invalid use of void expression в этой строке: Код: item->setData(Qt::EditRole, tableData.setValue(tmp)); Судя по родным мануалам, QTableWidgetItem текст выводит вообще без проблем, а вот вариантов вывода числа, я не нашел. Возможно неопытность сказывается, я не так уж и давно начал заниматься, хотя заинтересовало Qt еще осенью. Возможно попробовать преобразовать число в строку? Но как-то не хочется думать, что нет в Qt собственного, более красивого способа. вот прототип ф-ции Код: void QTreeWidgetItem::setData ( int column, int role, const QVariant & value ) но если честно, то как раз простейшим вариантом для данного случая есть перевод числа в строку, для этого есть даже статическая ф-ция QString::number() посмотри в ассистанте Название: Re: Установка в ячейку таблицы числа Отправлено: Crazy D0G от Апрель 13, 2011, 00:10 blood_shadow, вы мне дали прототип функции на void QTreeWidgetItem, а у меня ведь QTableWidgetItem :) У QTableWidgetItem он такой, только что в ассистенте посмотрел:
Код: void QTableWidgetItem::setData ( int role, const QVariant & value ) Попробую ваш совет, по поводу преобразования, возможно это и вправду будет не худшим вариантов в данном случае. Название: Re: Установка в ячейку таблицы числа Отправлено: blood_shadow от Апрель 13, 2011, 10:07 blood_shadow, вы мне дали прототип функции на void QTreeWidgetItem, а у меня ведь QTableWidgetItem :) У QTableWidgetItem он такой, только что в ассистенте посмотрел: еще так можно попробоватьКод: void QTableWidgetItem::setData ( int role, const QVariant & value ) Попробую ваш совет, по поводу преобразования, возможно это и вправду будет не худшим вариантов в данном случае. Код: QVariant tableData(tmp); Название: Re: Установка в ячейку таблицы числа Отправлено: Crazy D0G от Апрель 13, 2011, 18:44 blood_shadow, походу там ничего нормального ни при моем, ни при вашем способе не вывело бы, так как "x" и "y" у меня типа double, a QTableWidget::item ( int row, int column ) типа QTableWidgetItem :) Если сделать так:
Код: void mainWnd::distance() Вот теперь другой уже вопрос возник - можно ли проводить арифметические операции с QTableWidgetItem, да и вообще, как же все-таки добраться до того, что в нем содержится, чтобы уже можно было умножать, делить и т.д. Название: Re: Установка в ячейку таблицы числа Отправлено: blood_shadow от Апрель 13, 2011, 19:02 blood_shadow, походу там ничего нормального ни при моем, ни при вашем способе не вывело бы, так как "x" и "y" у меня типа double, a QTableWidget::item ( int row, int column ) типа QTableWidgetItem :) Если сделать так: если честно я думал что это была задумка такая отнимать адреса и их записывать,Код: void mainWnd::distance() Вот теперь другой уже вопрос возник - можно ли проводить арифметические операции с QTableWidgetItem, да и вообще, как же все-таки добраться до того, что в нем содержится, чтобы уже можно было умножать, делить и т.д. если же надо просто получить разницу значений: Код
если просто скопировать ячейку: Код
Название: Re: Установка в ячейку таблицы числа Отправлено: Crazy D0G от Апрель 13, 2011, 20:08 blood_shadow, большое вам спасибо! Кое-что новое вы мне показали, чего я не знал :) Маленькая неточность у вас была, правильно вот так:
Код: x = tableWidget->item(firstPoint, 0)->data(Qt::DisplayRole).toDouble() - За совет, как копировать ячейку тоже спасибо, как-то был не внимателен, когда описание QTableWidgetItem смотрел, не заметил clone. Эта проблема решена :) Название: Re: Установка в ячейку таблицы числа Отправлено: blood_shadow от Апрель 13, 2011, 21:17 За совет, как копировать ячейку тоже спасибо, как-то был не внимателен, когда описание QTableWidgetItem смотрел, не заметил clone. Эта проблема решена :) там все хорошо разжевано :) Название: Re: Установка в ячейку таблицы числа Отправлено: Crazy D0G от Апрель 13, 2011, 22:51 blood_shadow, думаю я тут еще не раз вопрос задам, так что готовьтесь и дальше учить :)
|