crossplatform.ru

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


  Ответ в Автоматическое измение размеров виджетов
Введите ваше имя
Подтвердите код

Введите в поле код из 6 символов, отображенных в виде изображения. Если вы не можете прочитать код с изображения, нажмите на изображение для генерации нового кода.
 

Опции сообщения
 Включить смайлы?
Иконки сообщения
(Опционально)
                                
                                
  [ Без иконки ]
 


Последние 10 сообщений [ в обратном порядке ]
igor_bogomolov Дата 21.1.2011, 9:03
 
Цитата(silver47 @ 21.1.2011, 8:52) *
как сделать так, чтобы QGridLayout сжался до минимально необходимого размера для вмещения виджетов(он это делает при создании), и само окно вернуть к этому же размеру?
Попробуй для этого окна сделать void QWidget::adjustSize ()

И в место setMinimumWidth/setMaximumWidth для кнопки лучше тогда использовать setFixedSize, а то путаница какая то получается
silver47 Дата 21.1.2011, 8:52
 
Цитата(igor_bogomolov @ 21.1.2011, 10:19) *
Я честно говоря не понял вопроса. Что нужно реализовать?
P.S. всегда прикладывайте код, если это возможно, так проще разбираться


QGroupBox *grp = new QGroupBox;
QGridLayout *lay = new QGridLayout;
grp->setLayout(lay);

button1 = new QPushButton("1");
button1->setMaximumWidth(10);
button2->setMaximumWidth(10);
button2 = new QPushButton("2");
lay->addWidget(button1, 0, 0);
lay->addWidget(button2, 0, 0);

После сих действий размер виджета будет приблизительно 30-40 пикселей. Затем выполняем подобную функцию:

button1->setMinimumWidth(200);
button2->setMinimumWidth(200);

а после сих больше 400т.

затем опять
button1->setMaximumWidth(10);
button2->setMaximumWidth(10);


Кнопки уменьшатся, но окно останется большим > 400px. Как вернуть его к прежнему размеру, т.е. как сделать так, чтобы QGridLayout сжался до минимально необходимого размера для вмещения виджетов(он это делает при создании), и само окно вернуть к этому же размеру? QWidget::setMaximumWidtn не предлагать - его тогда растянуть нельзя будет мышкой :(
igor_bogomolov Дата 21.1.2011, 8:19
  Я честно говоря не понял вопроса. Что нужно реализовать?
P.S. всегда прикладывайте код, если это возможно, так проще разбираться
silver47 Дата 21.1.2011, 7:58
  Доброго времени суток.

QGridLayout содержит элементы, размер которых может меняться. При увеличении размера элементов, QGridLayout растягивается, при уменьшении - не сжимается до прежнего. Как это реализовать?

Собственно вопрос касается не только QGridLayout но и всего приложения. Как это можно сделать?

Спасибо.
Просмотр темы полностью (откроется в новом окне)
RSS Текстовая версия Сейчас: 29.4.2024, 4:02