crossplatform.ru

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

 
Ответить в данную темуНачать новую тему
> компоновка виджетов
mas_nix
  опции профиля:
сообщение 16.9.2008, 13:37
Сообщение #1


Новичок


Группа: Новичок
Сообщений: 2
Регистрация: 16.9.2008
Пользователь №: 293

Спасибо сказали: 0 раз(а)




Репутация:   0  


Существует массив виджетов, который встраивается в QGridLayout:

CODE


qint32 n=5;
qint32 m=5;

......................

grid=new QGridLayout(this);
qint32 i,j;

for(i=0;i<n;++i)
{
for(j=0;j<m;++j)
{
grid->addWidget(map[i,j],i,j);
}
}

setLayout(grid);



где map описан как QPushButton map[n][m]


В результате отображается только одна строчка, Как отобразить все виджеты в сетке?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 16.9.2008, 14:01
Сообщение #2


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


mas_nix, а как ты заполняешь map?

вообще странно что у тебя строчка появляется, ведь в функцию QGridLayout::addWidget ты должен указатель передавать, а не сам объект.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
AD
  опции профиля:
сообщение 16.9.2008, 15:33
Сообщение #3


Профессионал
*****

Группа: Участник
Сообщений: 2003
Регистрация: 4.2.2008
Из: S-Petersburg
Пользователь №: 84

Спасибо сказали: 70 раз(а)




Репутация:   17  


Согласен с Юрой! Следует использовать массив указателей!
Вопрос 1: а каким образом данный вопрос связан с темой поста, а именно с компоновкой виджетов?
Вопрос 2:
Что ЭТО?
grid->addWidget(map[i,j],i,j);

В С++ так нельзя. Надо как минимум, так:
grid->addWidget(&(map[i][j]),i,j);
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 16.9.2008, 15:42
Сообщение #4


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Цитата(AD @ 16.9.2008, 19:33) *
каким образом данный вопрос связан с темой поста, а именно с компоновкой виджетов?
ну они в компоновщике у него только в одну строчку вставлялись, от сюда и мысль. Просто проблема на деле в другом. Так бывает.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
AD
  опции профиля:
сообщение 16.9.2008, 17:59
Сообщение #5


Профессионал
*****

Группа: Участник
Сообщений: 2003
Регистрация: 4.2.2008
Из: S-Petersburg
Пользователь №: 84

Спасибо сказали: 70 раз(а)




Репутация:   17  


Цитата(Litkevich Yuriy @ 16.9.2008, 16:42) *
Просто проблема на деле в другом. Так бывает.

Так я ниже указал странный кусок кода!
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 26.12.2024, 22:14