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

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

Страниц: 1 [2]   Вниз
  Печать  
Автор Тема: QLinkedList  (Прочитано 12332 раз)
coll3ctor
Гость
« Ответ #15 : Апрель 07, 2011, 23:21 »

а удалить как? list.remove(T) - не пойму как ей пользоваться.в цикле итератора по номеру определить нужный элемент, сравнить его и удалить чтоли?
Хотя прогресс есть ("итератор" и уже "элемент" вместо "узел"), посты все равно производят гнетущее впечатление. Ну зачем (из-под палки) заниматься тем к чему душа явно не лежит?  Наймите кого-нибудь вместо того чтобы мучать кошку  Плачущий

это намёк?)

у меня это семестровое задание по ооп Улыбающийся вот и делаю.2 курс, рановато ещё нанимать  Улыбающийся
Записан
Авварон
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3260


Просмотр профиля
« Ответ #16 : Апрель 07, 2011, 23:30 »

БТВ, я на 2м курсе тоже тупой был
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #17 : Апрель 08, 2011, 07:19 »

Потом наточили?  Смеющийся
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
coll3ctor
Гость
« Ответ #18 : Апрель 13, 2011, 08:11 »

Теперь мне нужно загрузить список из файла Улыбающийся в файл записывать у меня получилось, благодаря примерам ассистанта, а вот загрузить его из файла проблематично... компилятор ругается на
Код:
in >> list;
, хотя такая перегрузка присутствует. вот исходник ф-ии:

Код:
void artur :: openButton()
{
QString fileName = QFileDialog::getOpenFileName(this,
tr("Open list"), "",
tr("Kitap (*.ktp);;All Files (*)"));

if (fileName.isEmpty())
return;
else {

QFile file(fileName);

if (!file.open(QIODevice::ReadOnly)) {
QMessageBox::information(this, tr("Unable to open file"),
file.errorString());
return;
}

QDataStream in(&file);
in.setVersion(QDataStream::Qt_4_5);
list.empty();   // очистка существующих контактов
//list.clear();

/*QLinkedList<Kitap>::iterator listIterator   =  list.begin();
QLinkedList<Kitap>::iterator end            =  list.end();

for( ; listIterator != end; listIterator++)
{
Kitap currentData  = *listIterator;

in >> currentData.authorName;

in >> currentData.bookName;

in >> currentData.year;

in >> currentData.publishingHouse;

in >>  currentData.requestCount;
}*/

in >> list;


if (list.isEmpty()) {
QMessageBox::information(this, tr("No elements in file"),
tr("The file you are attempting to open contains no kitap."));
} else {
//very very strong
QLinkedList<Kitap>::iterator listIterator   =  list.begin();
QLinkedList<Kitap>::iterator end            =  list.end();

int j = 0;

for( ; listIterator != end; listIterator++)
{

Kitap currentData  = *listIterator;

QTableWidgetItem * newda1 = new QTableWidgetItem(currentData.authorName);
ui.tableWidget->setItem(j,0,newda1);

QTableWidgetItem * newda2 = new QTableWidgetItem(currentData.bookName);
ui.tableWidget->setItem(j,1,newda2);

QTableWidgetItem * newda3 = new QTableWidgetItem(currentData.year);
newda3->setData(Qt::DisplayRole,currentData.year);
ui.tableWidget->setItem(j,2,newda3);

QTableWidgetItem * newda4 = new QTableWidgetItem(currentData.publishingHouse);
ui.tableWidget->setItem(j,3,newda4);

QTableWidgetItem * newda5 = new QTableWidgetItem(currentData.requestCount);
newda5->setData(Qt::DisplayRole,currentData.requestCount);
ui.tableWidget->setItem(j,4,newda5);

j++;
}

// da da
}
}


}
Записан
alexman
Гость
« Ответ #19 : Апрель 13, 2011, 08:34 »

Покажи как переопределил?
Записан
coll3ctor
Гость
« Ответ #20 : Апрель 13, 2011, 09:14 »

Покажи как переопределил?

что переопределил?)

я имел ввиду в классе QLinkedList присутствует перезгрузки:

Код:
QDataStream & operator<< ( QDataStream & out, const QLinkedList<T> & list )

QDataStream & operator>> ( QDataStream & in, QLinkedList<T> & list )

или их нужно переопределять под свой контейнерный тип данных ? глупо как то...
Записан
coll3ctor
Гость
« Ответ #21 : Апрель 17, 2011, 09:15 »

Покажи как переопределил?

что переопределил?)

я имел ввиду в классе QLinkedList присутствует перезгрузки:

Код:
QDataStream & operator<< ( QDataStream & out, const QLinkedList<T> & list )

QDataStream & operator>> ( QDataStream & in, QLinkedList<T> & list )

или их нужно переопределять под свой контейнерный тип данных ? глупо как то...


с этим разобарался.перегрузил для своего класса эти операторы и всё заработало.

Следующий вопрос: мне нужно по критериям из полей элементов списка вывести (согласно критериям) соответствующие элементы. кто-нить подскажите пожалуйста примерный алгоритм на это...
Записан
Страниц: 1 [2]   Вверх
  Печать  
 
Перейти в:  


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