Поиск:

Ответ в темуСоздание новой темы Создание опроса
> [QT4]: Запрет на раскрытие 
V
    Опции темы
brom
Дата 25.7.2007, 13:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 13
Регистрация: 24.7.2007
Где: Таганрог, Россия

Репутация: нет
Всего: нет



Извените за тривиальность, но все экзамплы перерыл (входящие в состав qt) так и не нашел ответ.
Форму формирую динамически 
Код
Dialog::Dialog(QDialog *parent): QDialog(parent)
 {
  this->setGeometry(0,0,300,150);
 this->setWindowTitle(tr("Add"));
 this->setModal(true);

 QFont font_l("Helvetica", 12, QFont::Bold);
 QFont font_edit("Helvetica", 12);

 l = new QLabel(tr("Некоторый текст"),this);
 l->setGeometry(10,1,300,40);
 l->setFont(font_l);
.
.
.
}

Вопрос: как не дать моей форме  раскрываться во весь экран и изменять вообще размеры ?

вызываю я ее так
Код

 dial = new Dialog;
 dial->show();
 dial->exec(); 


 smile 

Это сообщение отредактировал(а) brom - 25.7.2007, 13:46
PM MAIL WWW ICQ   Вверх
powerfox
Дата 25.7.2007, 19:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I wanna fork()
****


Профиль
Группа: Комодератор
Сообщений: 3990
Регистрация: 1.10.2005
Где: Санкт-Петербург

Репутация: 4
Всего: 97



Цитата(brom @  25.7.2007,  14:45 Найти цитируемый пост)
Вопрос: как не дать моей форме  раскрываться во весь экран и изменять вообще размеры ?

У QDialog есть свойство resizable (как-то так) и соответствующая функция для установки значения. Про "раскрываться во весь экран" я не понял.

Цитата(brom @  25.7.2007,  14:45 Найти цитируемый пост)
все экзамплы перерыл (входящие в состав qt) так и не нашел ответ.

В данном случае рекомендую открыть Assistant и поcмотреть документацию по классу QDialog - там всё есть, в экзамплах такое не ищут.




--------------------
user posted image
PM WWW   Вверх
brom
Дата 26.7.2007, 11:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 13
Регистрация: 24.7.2007
Где: Таганрог, Россия

Репутация: нет
Всего: нет



Цитата(powerfox @  25.7.2007,  19:19 Найти цитируемый пост)
Цитата(brom @  25.7.2007,  14:45 Найти цитируемый пост)
Вопрос: как не дать моей форме  раскрываться во весь экран и изменять вообще размеры ?

У QDialog есть свойство resizable (как-то так) и соответствующая функция для установки значения. Про "раскрываться во весь экран" я не понял.

ну что бы и не было кнопки "развернуть","распахнуть" или как она там называется (центральная из трех в панели заголовка окна)
PM MAIL WWW ICQ   Вверх
powerfox
Дата 26.7.2007, 14:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I wanna fork()
****


Профиль
Группа: Комодератор
Сообщений: 3990
Регистрация: 1.10.2005
Где: Санкт-Петербург

Репутация: 4
Всего: 97



Цитата(brom @  26.7.2007,  12:08 Найти цитируемый пост)
ну что бы и не было кнопки "развернуть","распахнуть" или как она там называется (центральная из трех в панели заголовка окна) 

Minimize/Maximize

У QWidget есть свойство QSizePolicy. Для установки есть функция  setSizePolicy.
Насколько я понимаю, нужно выставить это свойство в QSizePolicy::Fixed. Это можно сделать и в Designer в свойствах окна (QWidget или что там является окном).


--------------------
user posted image
PM WWW   Вверх
brom
Дата 27.7.2007, 08:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 13
Регистрация: 24.7.2007
Где: Таганрог, Россия

Репутация: нет
Всего: нет



Цитата(powerfox @  26.7.2007,  14:15 Найти цитируемый пост)
У QWidget есть свойство QSizePolicy. Для установки есть функция  setSizePolicy.

Не помогает
но я нашел решение smile
кому интересно это 2 прекрасные функции :
Код
void QWidget::setBaseSize ( int basew, int baseh );
void QWidget::setFixedSize ( int w, int h );


Всем спасибо!
PM MAIL WWW ICQ   Вверх
powerfox
Дата 27.7.2007, 14:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I wanna fork()
****


Профиль
Группа: Комодератор
Сообщений: 3990
Регистрация: 1.10.2005
Где: Санкт-Петербург

Репутация: 4
Всего: 97



Цитата(brom @  27.7.2007,  09:28 Найти цитируемый пост)
кому интересно это 2 прекрасные функции :
Выделить всёкод C++
1:
2:
    
void QWidget::setBaseSize ( int basew, int baseh );
void QWidget::setFixedSize ( int w, int h );


Не очень решение. В Qt4 есть для всего спец. функции, хаки не нужны.
Цитата

Alternatively, if you want the widget to have a fixed size based on its contents, you can call QLayout::setSizeConstraint(QLayout::SetFixedSize);



--------------------
user posted image
PM WWW   Вверх
brom
Дата 28.7.2007, 12:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 13
Регистрация: 24.7.2007
Где: Таганрог, Россия

Репутация: нет
Всего: нет



Цитата(powerfox @  27.7.2007,  14:47 Найти цитируемый пост)
Не очень решение. В Qt4 есть для всего спец. функции, хаки не нужны.

Согласен! Но когда на форме очень много объектов и они расположены в сложной последовательности, большой геморой стоить многоуровневые QLayout  smile . Гораздо проще их размещать по координатам. Но на счет хака эт я согласен smile
PM MAIL WWW ICQ   Вверх
powerfox
Дата 28.7.2007, 13:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I wanna fork()
****


Профиль
Группа: Комодератор
Сообщений: 3990
Регистрация: 1.10.2005
Где: Санкт-Петербург

Репутация: 4
Всего: 97



Цитата(brom @  28.7.2007,  13:40 Найти цитируемый пост)
Согласен! Но когда на форме очень много объектов и они расположены в сложной последовательности, большой геморой стоить многоуровневые QLayout  smile .

Всё-таки принято именно через Layout'ы или через Box'ы. Да и несложно это, если через Designer (он для того и предназначен).

Это сообщение отредактировал(а) powerfox - 28.7.2007, 14:26


--------------------
user posted image
PM WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С/С++: Кроссплатформенное программирование, QT/Gtk+/wxWidgets"
JackYF
Любитель
  • В заголовке темы в квадратных скобках обозначьте используемую вами библиотеку, например: [QT],[GTK],[wx].
  • Если вопрос актуален только для некоторой версии библиотеки, либо, если вы пользуетесь не самой последней версией, укажите это. Например: [QT4], [GTK2].
  • Все начинающие изучать Qt - не забудьте зайти сюда.
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • В вопросе укажите полную версию версию библиотеки, а также все дополнительные используемые программные пакеты.
  • Не забывайте пользоваться кнопкой "Код".
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к тематике этого раздела. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, Любитель.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets | Следующая тема »


 




[ Время генерации скрипта: 0.2142 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.