Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Оптимизация отображения кода
Форум на CrossPlatform.RU > Библиотеки > Qt > Qt Общие вопросы
RazrFalcon
Пример:
QStandardItem *item0 = new QStandardItem("something1");
model->setItem(i,0,item0);
QStandardItem *item1 = new QStandardItem("something2");
model->setItem(i,1,item1);
QStandardItem *item2 = new QStandardItem("something1");
model->setItem(i,2,item2);
...
QStandardItem *item_n = new QStandardItem("something_n");
model->setItem(i,n,item_n);

Можно ли как то это в цикл загнать?
В моем случает 14 столбцов, и это уже куча кода, а если 100...
BRE
Нужно.
Не понятно что вызывает проблему. ;)
RazrFalcon
Реализация! :lol:
BRE
for( int j = 0; j < 14; ++j )
{
QStandardItem *item = new QStandardItem( strArray[ j ] );
model->setItem( i, j, item );
}

RazrFalcon
Тю... А я думал если так написать, то не смогу потом к этому итему обратится =/
Litkevich Yuriy
вместо
 strArray[ j ]
можно написать так:
QString("something%1").arg(j)
RazrFalcon
Ага, я сделал так:
// tags - это QStringList
for (int row = 0; row<14; ++row) {
      QStandardItem *item0 = new QStandardItem(tags.at(row));
      tableModel->setItem(i,row,item0);
}

К слову тоже получилось проделать и с QLineEdit'и:
QList<QLineEdit *> lineEditList;
lineEditList<<lneEdit_1<<lneEdit_2<<lneEdit_3<<lneEdit_n;
А потом циклично заполняю, оч удобно.
RazrFalcon
Продолжая тему.

Чем можно заменить:
QList< QList<QGraphicsLineItem *> *> *allLinesList;

:lol:
Нужен список списка линий.
Litkevich Yuriy
Цитата(RazrFalcon @ 15.7.2011, 22:29) *
Нужен список списка линий.
ну и он у тебя есть.
RazrFalcon
Выглядит по дурацки.
И почему то после второго at() не пашет...
list->at(1)->at(1)./тут уже не дополняет/
Алексей1153
не дополняет - это не значит, что неправильно )) Рисуй -> и пиши мембер
RazrFalcon
QList< QList<QGraphicsLineItem *> *> *allLinesList;
allLinesList->append(new QList<QGraphicsLineItem *>);
allLinesList->at(0)->append(new QGraphicsLineItem);
allLinesList->at(0)->at(0)->setLine(QLineF(10,10,10,10));

Вот так? Правда на последней строчке падает. Я так понимаю что в 0,0 пусто...
Алексей1153
QList< QList<QGraphicsLineItem *> *> *allLinesList;
allLinesList->append(new QList<QGraphicsLineItem *>);
if(!allLinesList->empty())
{
    QList<QGraphicsLineItem *> * pLL=allLinesList->at(0);
    if(!pLL->empty())
    {
        QGraphicsLineItem* pItem=pLL->at(0);
        pItem->append(new QGraphicsLineItem);
        pItem->setLine(QLineF(10,10,10,10));
    }
}


не бойся вспомогательные локальные указатели вводить. У них, кстати, подсказка откроется. Ну и проверять на наличие элемента нужно
RazrFalcon
Я про "вспомогательные локальные указатели" даже не слышал <_<
Алексей1153
а что про них слышать то. Суть простая: получить указатель или ссылку на текущий обрабатываемый объект. С одним указателем проще работать (да и проверить один раз надо), чем каждый раз писать трёхэтажную конструкцию

На скорости работы программы это не скажется, так как оптимизатор всё равно делает то же самое
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2024 IPS, Inc.