Russian Qt Forum
Сентябрь 27, 2024, 14:26 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1] 2   Вниз
  Печать  
Автор Тема: [Решено]Плавный ресайз в QScrollArea  (Прочитано 6745 раз)
RoulanD
Гость
« : Апрель 17, 2011, 07:35 »

Здравствуйте. Проблема следующая:
У меня есть QScrollArea в нём компоновка горизонтальная, в компоновке 3 кнопки и horizontalSpacer на MinimumExpanding. Нужно следующее: при изменении width например первой кнопки, все остальные виджеты в компоновке сдвигались.  То есть если первая кнопка увеличилась в ширине на 20 пиксилей, например, то оставшиеся 2 кнопки и horizontalSpacer сдвинулись на 20 пикселей по оси Х.
« Последнее редактирование: Апрель 28, 2011, 06:01 от RoulanD » Записан
blood_shadow
Гость
« Ответ #1 : Апрель 17, 2011, 10:44 »

Здравствуйте. Проблема следующая:
У меня есть QScrollArea в нём компоновка горизонтальная, в компоновке 3 кнопки и horizontalSpacer на MinimumExpanding. Нужно следующее: при изменении width например первой кнопки, все остальные виджеты в компоновке сдвигались.  То есть если первая кнопка увеличилась в ширине на 20 пиксилей, например, то оставшиеся 2 кнопки и horizontalSpacer сдвинулись на 20 пикселей по оси Х.

поставь горизонтальную политику размера кнопок и спайсера на Fixed
Записан
RoulanD
Гость
« Ответ #2 : Апрель 17, 2011, 11:23 »

ставил.
И прошу, если кто то что то советует то попробуйте сначала это сами.
Записан
blood_shadow
Гость
« Ответ #3 : Апрель 17, 2011, 14:03 »

ставил.
И прошу, если кто то что то советует то попробуйте сначала это сами.
тогда давай форму, за тебя тут никто не будет задачи разбирать и решать
Записан
RoulanD
Гость
« Ответ #4 : Апрель 17, 2011, 16:54 »

1 - форма
2 - изначально
3 - после увеличения размера 1 кнопки она заползает на остальные, несмотря на компоновку. (компоновку сделал внутри scrollArea)
Записан
blood_shadow
Гость
« Ответ #5 : Апрель 17, 2011, 17:11 »

вот так?:
Записан
RoulanD
Гость
« Ответ #6 : Апрель 17, 2011, 19:55 »

ну да вот они должны так сдвигаться
Записан
blood_shadow
Гость
« Ответ #7 : Апрель 17, 2011, 20:00 »

ну да вот они должны так сдвигаться
кнопки горизонтальная политика все - Minimum, распорка - Expanding и все это скомпоновано по горизонтали
Записан
RoulanD
Гость
« Ответ #8 : Апрель 17, 2011, 20:02 »

при изменении размера она всё равно накладывается на другую кнопку.
« Последнее редактирование: Апрель 17, 2011, 20:04 от RoulanD » Записан
blood_shadow
Гость
« Ответ #9 : Апрель 17, 2011, 20:09 »

при изменении размера она всё равно накладывается на другую кнопку.
я предполагаю что у распорки стоит минимальный размер меньше которого она не может
стать, если же нет прикрепи файл *.ui сюда я посмотрю
Записан
RoulanD
Гость
« Ответ #10 : Апрель 17, 2011, 20:11 »

у спейсера стоит размер 1х1
Записан
blood_shadow
Гость
« Ответ #11 : Апрель 17, 2011, 22:01 »

у спейсера стоит размер 1х1
минимальный размер твоей кнопки устанавливал на +20 вроде работает, остальные кнопки
поставил на фиксед, спейсер на 40*20
Записан
RoulanD
Гость
« Ответ #12 : Апрель 18, 2011, 04:22 »

Ты вроде не понял. Я, например, на 1 кнопку делаю сигнал кликт.
Код
C++ (Qt)
void MainWindow::on_pushButton_clicked()
{
   ui->pushButton->setGeometry(ui->pushButton->x(),
                               ui->pushButton->y(),
                               ui->pushButton->width()+10,
                               ui->pushButton->height());
}
 
И при запуске программы, когда я увеличиваю размер кнопки этим слотом, она у меня на другие виджеты налазит. Мне вот от этого нужно избавиться.
Записан
blood_shadow
Гость
« Ответ #13 : Апрель 18, 2011, 10:07 »

Ты вроде не понял. Я, например, на 1 кнопку делаю сигнал кликт.
Код
C++ (Qt)
void MainWindow::on_pushButton_clicked()
{
   ui->pushButton->setGeometry(ui->pushButton->x(),
                               ui->pushButton->y(),
                               ui->pushButton->width()+10,
                               ui->pushButton->height());
}
 
И при запуске программы, когда я увеличиваю размер кнопки этим слотом, она у меня на другие виджеты налазит. Мне вот от этого нужно избавиться.
неправильно, ты делаешь
Код
C++ (Qt)
void MainWindow::on_pushButton_clicked()
{
   ui->pushButton->resize(ui->pushButton->size() + QSize(20, 0));
}
 
Записан
RoulanD
Гость
« Ответ #14 : Апрель 18, 2011, 11:27 »

Ну дело не в этом, всё равно при изменении размера виджеты справа не сдвигаются, а кнопка накладывается на них.
Записан
Страниц: [1] 2   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.217 секунд. Запросов: 21.