Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> как список виджетов загнать в цикле в лэйаут ? как список виджетов загнать в лайаут 
V
    Опции темы
cooper123
Дата 27.9.2008, 21:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 56
Регистрация: 30.7.2007

Репутация: нет
Всего: нет



что бы не мучится с лэйаутом хочу при создании виджедов заганять их в список а потом автоматом в цикле перегонять в лэайаут.
можно так сделать?

вот примерно что имеется ввиду (не работает)
затыкается на первой попытке загнать елемент в список. 

Код

  typedef std::list<QWidget> T_widget_list;
T_widget_list wlist;


QDoubleSpinBox initial_number = new QDoubleSpinBox();
initial_number->setRange(0.00 , 100000.00);
initial_number->setSingleStep(1000.0);
initial_number->setValue(2000);
wlist.push_back(initial_bar_number);
QLabel initial_numberLabel = new QLabel(tr("initial_number"));
initial_numberLabel->setFrameStyle(frameStyle);
wlist.push_back(initial_bar_numberLabel);

QDoubleSpinBox auto_sleep_time = new QDoubleSpinBox();
auto_sleep_time->setRange(0.00 , 100000.00);
auto_sleep_time->setSingleStep(1000.0);
auto_sleep_time->setValue(2000);
wlist.push_back(auto_sleep_time);
QLabel auto_sleep_timeLabel = new QLabel(tr("auto_sleep_time"));
auto_sleep_timeLabel->setFrameStyle(frameStyle);
wlist.push_back(auto_sleep_timeLabel);


std::list<QWidget>::iterator  pos;
pos = wlist.begin();
QGridLayout *layout = new QGridLayout;
for(int i=0;i<wlist.size();i++){
  layout->addWidget(*pos, i, 0);
  pos++;
 }






PM MAIL   Вверх
EnergoHokum
Дата 27.9.2008, 22:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 600
Регистрация: 10.11.2006
Где: Россия, Ставропол ь

Репутация: нет
Всего: 6



Так список у тебя должен содержать QWidget, а загонять в него ты пытаешься экземпляры других классов, хоть они и производные от него.
PM MAIL ICQ   Вверх
cooper123
Дата 27.9.2008, 22:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 56
Регистрация: 30.7.2007

Репутация: нет
Всего: нет



вот в этом и проблемма 
как мне делать список если там изначала будут разные классы, тоесть кнопки лэйблы и прочее. 
может это вообще не возможно?
в принципе все эти вещи создаются как указатели я надеялся что указатели на класс он более или менее одинаковы вне зависимости от класса. 

PM MAIL   Вверх
vinter
Дата 27.9.2008, 23:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Explorer
****


Профиль
Группа: Завсегдатай
Сообщений: 2735
Регистрация: 1.4.2006
Где: Н.Новгород

Репутация: 8
Всего: 56



cooper123, делай один абстрактный класс, от него делай кучу наследников. И создавай контейнер указателей на класс родитель, помещаю туда указатели на классы-потомки


--------------------
Мой блог
PM MAIL WWW   Вверх
cooper123
Дата 27.9.2008, 23:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 56
Регистрация: 30.7.2007

Репутация: нет
Всего: нет



сенкс
завтра попробую. 
PM MAIL   Вверх
mes
Дата 28.9.2008, 00:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 79
Всего: 250



Код

  typedef std::list<QWidget*> T_widget_list;


Это сообщение отредактировал(а) mes - 28.9.2008, 00:39


--------------------
PM MAIL WWW   Вверх
J0ker
Дата 28.9.2008, 01:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 986
Регистрация: 17.9.2008

Репутация: 9
Всего: 14



народ не фтыкает что такое полиморфизм  smile 


--------------------
user posted image
PM MAIL   Вверх
cooper123
Дата 28.9.2008, 10:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 56
Регистрация: 30.7.2007

Репутация: нет
Всего: нет



  typedef std::list<QWidget*> T_widget_list;

спасибо mes,сработало. 
я так и думал а записалось вот криво. 
как ни старайся в некоторых моментах мозги прямые а пальцы кривые, хотя должно быть наоборот. 
из за искревления пространства наверное. 



J0ker народ не фтыкает что такое полиморфизм  
 
а ты бы и обьяснил, раздел то так и называется для новичков, был бы для корифеев такгда бы и ржал)))

PM MAIL   Вверх
cutwater
Дата 28.9.2008, 11:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 592
Регистрация: 24.6.2008

Репутация: 2
Всего: 10



Ибо человек пишущий на QT ИМХО должен бы основы знать, чтобы понимать инструмент.
Кстати, зачем использовать стандартный список, если есть человеческий QList???


--------------------
user posted image
PM MAIL   Вверх
mes
Дата 28.9.2008, 12:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 79
Всего: 250



smile 
cooper123, (на будущее) в поле ввода ответа есть полезные кнопки, помогающие оформить код . 
Попробуйте пользоваться ими - и всем будет легче, а Вам приятнее smile 



Это сообщение отредактировал(а) mes - 28.9.2008, 12:41


--------------------
PM MAIL WWW   Вверх
cooper123
Дата 28.9.2008, 13:06 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 56
Регистрация: 30.7.2007

Репутация: нет
Всего: нет



Цитата

Ибо человек пишущий на QT ИМХО должен бы основы знать, чтобы понимать инструмент.
Кстати, зачем использовать стандартный список, если есть человеческий QList???

у Вас странная манера диалога. человек запутался и просит о помощи. Изложил свои представления и привел код. Вы ему в ответ - учите основы. 
Основы можно учить тысщчу лет а до реализации не дойти. 
Все что вы сказали, по этой причине, для меня совершенно не понятно. 
за QList спасибо посмотрю. 

Цитата


cooper123, (на будущее) в поле ввода ответа есть полезные кнопки, помогающие оформить код . 
Попробуйте пользоваться ими - и всем будет легче, а Вам приятнее


я текст больше люблю, но в будущем буду жмать эти кнопки. smile   smile  
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0518 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.