Название: сапер Отправлено: zorra от Апрель 26, 2014, 21:03 Доброго времени суток. Начал изучать программирование в qt. Задали делать сапера. Застрял на расположении кнопок. использовал QGridLayout. Кнопки расположил по сетке (9x9). Вообщем вот кусочек кода:
Код: QGridLayout *l1 = new QGridLayout; проблема в том, что при растягивании формы, появляются пробелы между строками. как избежать этого? Название: Re: сапер Отправлено: gil9red от Апрель 26, 2014, 21:48 Попробуйте setRowStretch (http://doc.crossplatform.ru/qt/4.6.x/qgridlayout.html#setRowStretch) и setColumnStretch (http://doc.crossplatform.ru/qt/4.6.x/qgridlayout.html#setColumnStretch) :)
Сейчас смодулировал то, что вы хотите в дизайнере (скрин прилагается) и посмотрел код, который он сгенерировал, в общем такой: Код Горизонтальная пружинка добавляется в первую строку, последний столбец Вертикальнаяпружинка добавляется в последнюю строку, первый столбец Название: Re: сапер Отправлено: zorra от Апрель 26, 2014, 22:39 gil9red, я вот попробовал сделать так, как вы сказали, получается такая вот штука при растяжении экрана:
Название: Re: сапер Отправлено: zorra от Апрель 26, 2014, 22:49 Я может не очень точно написал, надо как-то сделать, чтобы при растягивании формы, кнопки равномерно растягивались по форме без пробелов.
Название: Re: сапер Отправлено: gil9red от Апрель 27, 2014, 00:07 Тогда:
У кнопок поставьте sizePolicy на Preffered -> button->setSizePolicy( QSizePolicy::Preferred, QSizePolicy::Preferred ); ;) |