Russian Qt Forum
Ноябрь 26, 2024, 07:28
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Пользовательский интерфейс (GUI)
>
Расположение и параметры элементов на форме
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: Расположение и параметры элементов на форме (Прочитано 8573 раз)
tumanovalex
Гость
Расположение и параметры элементов на форме
«
:
Июль 24, 2010, 22:26 »
На основном окне размещены элементы управления. Подскажите, пожалуйста, как сделать так:
1. Чтобы при максимизации окна кнопки ОК и Отмена были расположены в правом нижнем углу, а все остальные элементы - в левом верхнем углу с сохранением расстояний между ними, заданными в дизайнере. Что-то я промаялся с разными Layout, ничего не получилось.
2. Можно было изменять ширину колонок в TableWidget, размещенной на форме. Что-то я не смог настроить.
Записан
SimpleSunny
Гость
Re: Расположение и параметры элементов на форме
«
Ответ #1 :
Июль 24, 2010, 22:38 »
Необходимо использровать Layout'ы.
Вот тема с похожим запросом.
http://www.prog.org.ru/topic_14334_0.html
Чтобы кнопки всегда были внизу справа необходимо использовать Spacer. horizontal, чтобы отодвинуть из вправо и vertical, чтобы вниз.
Записан
SABROG
Гость
Re: Расположение и параметры элементов на форме
«
Ответ #2 :
Июль 25, 2010, 08:43 »
Цитата: tumanovalex от Июль 24, 2010, 22:26
с сохранением расстояний между ними, заданными в дизайнере.
Интересное условие, которое по логике просто запрещает окну менять свои размеры, либо это будет выглядеть как квадратный оазис контролов где-то в центре максимизированного виджета и конечно условия о том, чтобы часть этих виджетов была где-то слева вверху и справа внизу соблюдаться не будут.
Записан
tumanovalex
Гость
Re: Расположение и параметры элементов на форме
«
Ответ #3 :
Июль 25, 2010, 10:11 »
Со вторым условием я погорячился, а вот с первым не совсем понятно. Информацию по дизайнеру я почитал, но что-то не очень понял. Я сделал компоновку кнопок ОК и Отмена, они выделись красным. Затем я слева от красного выделения расположил горизонтальный спейсер, а сверху - вертикальный спейсер. При запуске получил сообщение "Этот файл содержит верхнеуровневые разделители. Они не были сохранены в форме. Возможно, вы забыли создать компоновщик?" Может быть нужно скомпоновать и расположенные выше кнопок контролы (комбобокс, радиокнопки, фложок и Table)? Что такое верхнеуровневые разделители и где нужно создавать компоновщик? Помогите, пожалуйста, понять идеологию создания правильного взаимного положения элементов управления.
Записан
SimpleSunny
Гость
Re: Расположение и параметры элементов на форме
«
Ответ #4 :
Июль 25, 2010, 12:07 »
Почитайте Жасмин Бланшет. Глава 1-2. Там все подробно расписывается, вплоть до того, что нажимать в дизайнере.
Записан
lit-uriy
Джедай : наставник для всех
Offline
Сообщений: 3880
Re: Расположение и параметры элементов на форме
«
Ответ #5 :
Июль 25, 2010, 12:52 »
>>где нужно создавать компоновщик?
выдели своё окошко, и на панели инструментов нажми одну из кнопок компоновки.
П.С. к сожалению, в дизайнере, не помечается визуально компоновщик, установленный на конкретный виджет (для его содержимого). Визуально выделяются либо:
* самостоятельные компоновщики, не назначенные виджету (твой случай с кнопками)
* компоновщики вложенные непосредственно в другой компоновщик
Записан
Юра.
tumanovalex
Гость
Re: Расположение и параметры элементов на форме
«
Ответ #6 :
Июль 25, 2010, 20:00 »
Почитал Бланшет, опять не разобрался. Поместил горизонтальный спейсер рядом с кнопками ОК и Отмена, выделил с помощью CTRL (в Бланшет рекомендовалось Shift) спейсер и кнопки, нажал Скомпоновать по горизонтали. Спейсер и кнопки были обведены красной линией. Однако при максимизации основного окна кнопки в правый нижний угол не встали. Видимо, что-то я делаю неправильно. Посмотрите, пожалуйста, мой проект.
Записан
SimpleSunny
Гость
Re: Расположение и параметры элементов на форме
«
Ответ #7 :
Июль 25, 2010, 20:14 »
Вам все свои виджеты, необходимо скомпоновать, чтобы все коректно растягивалось.
Поэтому.
1. Нажимаем на "Вид датчика" и выбираем компоновку (горизонтальная \ вертикальная). Это задаст как компоновать виджеты внутри GroupBox.
2. Далее необходимо скомпоновать остальные виджеты. К примеру выбрать "тест" и "датчик ВЧ". скомпоновать по вертикали. И скомпоновать по горизонтали "Вид датчика" и получившуюся компоновку по вертикали (тест...)
3. Как писал выше lit-uriy задать компоновщик для всей формы. Нажать на свободное место формы и выбрать компоновка по вертикали.
Записан
tumanovalex
Гость
Re: Расположение и параметры элементов на форме
«
Ответ #8 :
Июль 25, 2010, 22:23 »
Попробовал все сделать, как Вы рекомендовали, все равно кнопки не размещаются в правом нижнем углу.
Записан
SimpleSunny
Гость
Re: Расположение и параметры элементов на форме
«
Ответ #9 :
Июль 26, 2010, 08:40 »
Посмотрите на этот вариант, может понравится.
Записан
tumanovalex
Гость
Re: Расположение и параметры элементов на форме
«
Ответ #10 :
Июль 26, 2010, 12:03 »
Спасибо, все получилось. Создал новый проект и попробовал сделать все заново. Как оказалось, просто нужно правильно создать компоновщики по горизонтали и вертикали, задать их параметры, в нужном месте и в нужном количестве расположить спейсеры, затем сделать компоновку по сетке (в моем случае). Спасибо за советы и обсуждения, они помогли мне выйти из тупика. Очень понравился QTCreator, очень все удобно и разумно.
Записан
Страниц: [
1
]
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...