crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )


  Ответ в QList<QLabel>
Введите ваше имя
Подтвердите код

Введите в поле код из 6 символов, отображенных в виде изображения. Если вы не можете прочитать код с изображения, нажмите на изображение для генерации нового кода.
 

Опции сообщения
 Включить смайлы?
Иконки сообщения
(Опционально)
                                
                                
  [ Без иконки ]
 


Последние 10 сообщений [ в обратном порядке ]
DIMEDROLL Дата 8.6.2011, 23:54
  ну да, этот код обычно и помещают в деструктор
fortero Дата 8.6.2011, 23:10
 
Цитата(DIMEDROLL @ 8.6.2011, 10:41) *
QList<QLabel*> labels;
labels.append(new QLabel(parent));


хранить нужно указатели на виджеты, а не сами обьекты
если при создании QLabel ты передаешь ему parent то об удалении можно не беспокоится, parent должен сам удалить всех своих детей, если не передаешь то очищать список нужно вручную, см. доку
 QList<QWidget *> list;
...
while (!list.isEmpty())
     delete list.takeFirst();

А в деструктор это можно поместить?
 while (!list.isEmpty())
     delete list.takeFirst();

Будет работать?
fortero Дата 8.6.2011, 20:34
 
Цитата(RazrFalcon @ 7.6.2011, 23:05) *


Спасибо. я разобрался, там надобыло указатель поставить и всё получилось!
Litkevich Yuriy Дата 8.6.2011, 13:58
 
Цитата(fortero @ 8.6.2011, 0:57) *
Можно ли делать контейнеры с виджетами?
нет, т.к. у виджетов нет публичного оператора присваивания и конструктора копирования, а списку они нужны:
Цитата
сли вы попытаетесь создать экземпляр QList<QWidget>, компилятор сообщит, что конструктор копирования и операторы присваивания QWidget запрещены. Если вы хотите поместить эти виды объектов в контейнер, то поместите указатели на них, например, так QList<QWidget *>
тыц.

Так что делать только как DIMEDROLL прописал
DIMEDROLL Дата 8.6.2011, 10:41
 
QList<QLabel*> labels;
labels.append(new QLabel(parent));


хранить нужно указатели на виджеты, а не сами обьекты
если при создании QLabel ты передаешь ему parent то об удалении можно не беспокоится, parent должен сам удалить всех своих детей, если не передаешь то очищать список нужно вручную, см. доку
 QList<QWidget *> list;
...
while (!list.isEmpty())
     delete list.takeFirst();
RazrFalcon Дата 7.6.2011, 23:05
  Как то так:
http://www.forum.crossplatform.ru/index.ph...ic=5211&hl=

А точнее:
http://www.forum.crossplatform.ru/index.ph...ost&p=37730
fortero Дата 7.6.2011, 21:57
  Есть вот такой контейнер, если это правильно?
QList<QLabel> konLb;


Можно ли делать контейнеры с виджетами?
Если да, то как его наполнить?
Спасибо за внимание!
Просмотр темы полностью (откроется в новом окне)
RSS Текстовая версия Сейчас: 27.4.2024, 17:21