QScrollArea, скоролы не появляются |
Здравствуйте, гость ( Вход | Регистрация )
QScrollArea, скоролы не появляются |
RazrFalcon |
14.8.2010, 18:23
Сообщение
#11
|
Zombie Mod Группа: Участник Сообщений: 1654 Регистрация: 24.5.2010 Из: Харьков Пользователь №: 1752 Спасибо сказали: 64 раз(а) Репутация: 212 |
Судя по снимку экрана, оно и есть В том то и дело, что мне нужен аналог FlowLayout, они при изменении размера окна передвигаются. 2х5, 3х3+1 снизу и тд. Проэкт прикрепил, думаю так будет быстрее чем объяснять.
Прикрепленные файлы
|
|
|
Litkevich Yuriy |
14.8.2010, 19:14
Сообщение
#12
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
|
|
|
RazrFalcon |
14.8.2010, 19:51
Сообщение
#13
|
Zombie Mod Группа: Участник Сообщений: 1654 Регистрация: 24.5.2010 Из: Харьков Пользователь №: 1752 Спасибо сказали: 64 раз(а) Репутация: 212 |
|
|
|
Litkevich Yuriy |
14.8.2010, 19:57
Сообщение
#14
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
Так я еще и не понял как в него запихнуть QGraphicsView , с кнопками и лейблами он справлялся у меня. это всё виджеты, метод там один и тот же addWidgetа у меня всего то 10 строк. и не работают компоновщик всегда возвращает свой желаемый размер, из-за это родительский виджет принимает меры по изменению своих размеров (для прокручиваемой области - QScrollArea, изменяется вид линейки прокрутки). А у тебя этого нет |
|
|
RazrFalcon |
14.8.2010, 20:38
Сообщение
#15
|
Zombie Mod Группа: Участник Сообщений: 1654 Регистрация: 24.5.2010 Из: Харьков Пользователь №: 1752 Спасибо сказали: 64 раз(а) Репутация: 212 |
это всё виджеты, метод там один и тот же addWidget Да, но в примере оно то пашит, а в моей проге уже говорит:QWidget::setLayout: Attempting to set QLayout "" on MainWindow "MainWindow", which already has a layout и нечего не отображается, хоть и компилит. Цитата и не работают работает , только не в QScrollArea.+
Сообщение отредактировал RazrFalcon - 14.8.2010, 20:40 |
|
|
Litkevich Yuriy |
14.8.2010, 21:07
Сообщение
#16
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
Да, но в примере оно то пашит, а в моей проге уже говорит: как это будет по-русски?//так уже не пашит а с чего оно так должно работать? этот метод называется "установитьВиджет", а ты устанавливаешь компоновщик
scrollArea->setWidget(new FlowLayout); |
|
|
RazrFalcon |
14.8.2010, 21:28
Сообщение
#17
|
Zombie Mod Группа: Участник Сообщений: 1654 Регистрация: 24.5.2010 Из: Харьков Пользователь №: 1752 Спасибо сказали: 64 раз(а) Репутация: 212 |
|
|
|
Litkevich Yuriy |
15.8.2010, 3:03
Сообщение
#18
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
уже имеет слой. не слой, а компоновщик (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. Глупая конечно ошибка.
Ну а виджет в скорол арию. но скролы то так и не пашут!
|
|
|
Текстовая версия | Сейчас: 9.11.2024, 3:50 |