crossplatform.ru

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

5 страниц V  < 1 2 3 4 > »   
Ответить в данную темуНачать новую тему
> QScrollArea, скоролы не появляются
RazrFalcon
  опции профиля:
сообщение 14.8.2010, 18:23
Сообщение #11


Zombie Mod
*****

Группа: Участник
Сообщений: 1654
Регистрация: 24.5.2010
Из: Харьков
Пользователь №: 1752

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




Репутация:   212  


Цитата(Litkevich Yuriy @ 14.8.2010, 17:54) *
Судя по снимку экрана, оно и есть

В том то и дело, что мне нужен аналог FlowLayout, они при изменении размера окна передвигаются. 2х5, 3х3+1 снизу и тд.
Проэкт прикрепил, думаю так будет быстрее чем объяснять.
Прикрепленные файлы
Прикрепленный файл  Tempus.zip ( 5.33 килобайт ) Кол-во скачиваний: 83
 
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 14.8.2010, 19:14
Сообщение #12


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

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

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




Репутация:   94  


Цитата(RazrFalcon @ 14.8.2010, 22:23) *
что мне нужен аналог FlowLayout
а ты пробовал его использовать в своём проекте?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
RazrFalcon
  опции профиля:
сообщение 14.8.2010, 19:51
Сообщение #13


Zombie Mod
*****

Группа: Участник
Сообщений: 1654
Регистрация: 24.5.2010
Из: Харьков
Пользователь №: 1752

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




Репутация:   212  


Цитата(Litkevich Yuriy @ 14.8.2010, 19:14) *
а ты пробовал его использовать в своём проекте?

Да, только он слишком громоздкий, а у меня всего то 10 строк. Так я еще и не понял как в него запихнуть QGraphicsView :rolleyes: , с кнопками и лейблами он справлялся у меня.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 14.8.2010, 19:57
Сообщение #14


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

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

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




Репутация:   94  


Цитата(RazrFalcon @ 14.8.2010, 23:51) *
Так я еще и не понял как в него запихнуть QGraphicsView , с кнопками и лейблами он справлялся у меня.
это всё виджеты, метод там один и тот же addWidget

Цитата(RazrFalcon @ 14.8.2010, 23:51) *
а у меня всего то 10 строк.
и не работают ;)
компоновщик всегда возвращает свой желаемый размер, из-за это родительский виджет принимает меры по изменению своих размеров (для прокручиваемой области - QScrollArea, изменяется вид линейки прокрутки). А у тебя этого нет
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
RazrFalcon
  опции профиля:
сообщение 14.8.2010, 20:38
Сообщение #15


Zombie Mod
*****

Группа: Участник
Сообщений: 1654
Регистрация: 24.5.2010
Из: Харьков
Пользователь №: 1752

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




Репутация:   212  


Цитата(Litkevich Yuriy @ 14.8.2010, 19:57) *
это всё виджеты, метод там один и тот же addWidget
Да, но в примере оно то пашит, а в моей проге уже говорит:
QWidget::setLayout: Attempting to set QLayout "" on MainWindow "MainWindow", which already has a layout
и нечего не отображается, хоть и компилит.
Цитата
и не работают ;)
работает :) , только не в QScrollArea.
+
//так пашит
scrollArea->setWidget(new QGraphicsView);
//так уже не пашит
scrollArea->setWidget(new FlowLayout);
//или
scrollArea->setWidget(FlowLayout *flowLayout = new FlowLayout);
//так создаю, в примере FlowLayout этот способ пашит, но там нет формы.
flowLayout->addWidget(new QGraphicsView);
setLayout(flowLayout);


Сообщение отредактировал RazrFalcon - 14.8.2010, 20:40
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 14.8.2010, 21:07
Сообщение #16


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

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

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




Репутация:   94  


Цитата(RazrFalcon @ 15.8.2010, 0:38) *
Да, но в примере оно то пашит, а в моей проге уже говорит:
как это будет по-русски?

Цитата(RazrFalcon @ 15.8.2010, 0:38) *
//так уже не пашит
scrollArea->setWidget(new FlowLayout);
а с чего оно так должно работать? этот метод называется "установитьВиджет", а ты устанавливаешь компоновщик
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
RazrFalcon
  опции профиля:
сообщение 14.8.2010, 21:28
Сообщение #17


Zombie Mod
*****

Группа: Участник
Сообщений: 1654
Регистрация: 24.5.2010
Из: Харьков
Пользователь №: 1752

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




Репутация:   212  


Цитата(Litkevich Yuriy @ 14.8.2010, 21:07) *
как это будет по-русски?
QWidget::setLayout: пытается установить QLayout "" на MainWindow "MainWindow", который уже имеет слой.
Только я все равно не вижу решение проблемы.
PS: QLayout "(так понимаю здесь должно что то быть)"
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 15.8.2010, 3:03
Сообщение #18


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

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

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




Репутация:   94  


Цитата(RazrFalcon @ 15.8.2010, 1:28) *
уже имеет слой.
не слой, а компоновщик (layout)

работа с компоновщиками описана в документации

схема простая:
некийКомпоновщик->добавитьВиджет(виджет_1)
некийКомпоновщик->добавитьВиджет(виджет_2)
некийКомпоновщик->добавитьВиджет(виджет_3)
некийВиджет->добавитьКомпоновщик(некийКомпоновщик)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
ufna
  опции профиля:
сообщение 15.8.2010, 10:50
Сообщение #19


Активный участник
***

Группа: Участник
Сообщений: 362
Регистрация: 24.5.2008
Из: Курган/СПб
Пользователь №: 182

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




Репутация:   5  


Если у тебя QMainWindow родитель MainWindow класса, то ничего странного. Создай обычный виджет, ему присваивай лейаут, а в MainWindow делай setCentralWidget или чет такое.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
RazrFalcon
  опции профиля:
сообщение 15.8.2010, 17:33
Сообщение #20


Zombie Mod
*****

Группа: Участник
Сообщений: 1654
Регистрация: 24.5.2010
Из: Харьков
Пользователь №: 1752

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




Репутация:   212  


Ну в общем прикрепил FlowLayout. Глупая конечно ошибка.
widget->setLayout(flowLayout);
Ну а виджет в скорол арию.
widget->setGeometry(0,0,width()+1000,height()+1000);
но скролы то так и не пашут!
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

5 страниц V  < 1 2 3 4 > » 
Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


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




RSS Текстовая версия Сейчас: 11.8.2022, 23:32