crossplatform.ru

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

> Как запретить модальному диалогу растягиваться ?
flankerr
  опции профиля:
сообщение 27.2.2009, 18:47
Сообщение #1


Активный участник
***

Группа: Участник
Сообщений: 356
Регистрация: 9.1.2008
Пользователь №: 65

Спасибо сказали: 2 раз(а)




Репутация:   0  


Как запретить диалогу изменять вертикальный размер но оставить возмоджность менять горизонтальный размер ???
Код создания диалога:
QDialog* pDlg = new QDialog(this);
pDlg->setSizePolicy(QSizePolicy::Expanding,QSizePolicy::Fixed);

    QLabel* pLabel = new QLabel;
    QLineEdit* pLineEdit = new QLineEdit;
    
    QHBoxLayout* pHBL1 = new QHBoxLayout();
    pHBL1->addWidget(pLabel);
    pHBL1->addWidget(pLineEdit);

    QPushButton* pButtonCreate = new QPushButton();
    pButtonCreate->setText(tr("1"));
    QPushButton* pButtonExit = new QPushButton();
    pButtonExit->setText(tr("2"));

    QHBoxLayout* pHBL2 = new QHBoxLayout();
    pHBL2->addWidget(pButtonCreate);
    pHBL2->addWidget(pButtonExit);

    QVBoxLayout* pVBL = new QVBoxLayout();
    pVBL->addLayout(pHBL1);
    pVBL->addLayout(pHBL2);

    pDlg->setLayout(pVBL);
    pDlg->setSizePolicy(QSizePolicy::Expanding,QSizePolicy::Fixed);
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
flankerr
  опции профиля:
сообщение 28.2.2009, 12:56
Сообщение #2


Активный участник
***

Группа: Участник
Сообщений: 356
Регистрация: 9.1.2008
Пользователь №: 65

Спасибо сказали: 2 раз(а)




Репутация:   0  


kwisp,
while(dialog->isVisible()) qWait(250);

это называется "красивым" решением ? :blink:

Цитата(Litkevich Yuriy @ 28.2.2009, 12:41) *
flankerr, еслиб тебе полностью надобыло сделать фиксированный размер (и ширину и высоту), то достаточно было бы сделать так:
pVBL->setSizeConstraint(QLayout::SetFixedSize);
т.е. для главного компоновщика
покопайся в этом направлении, может только один размер можно задать

да я сразу начал копать в сторону QLayout тока пока не нашёл как сделать фиксированнм только одно направление.

кстати еслибы не QLayout то решение было бы простым
вызов hide() просчитал бы все размеры элементов без вывода диалога на экран.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме
- flankerr   Как запретить модальному диалогу растягиваться ?   27.2.2009, 18:47
- - Litkevich Yuriy   Нужно задать два размера максимальный и минимальны...   27.2.2009, 19:34
|- - flankerr   Цитата(Litkevich Yuriy @ 27.2.2009, 19:34...   28.2.2009, 11:05
- - lucifer_vrn   согласен, что sizePolicy тут нафиг не нужен. а вот...   28.2.2009, 10:17
- - kwisp   Цитата(flankerr @ 28.2.2009, 11:05) pDlg-...   28.2.2009, 11:18
|- - flankerr   Цитата(kwisp @ 28.2.2009, 11:18) Цитата(f...   28.2.2009, 11:36
- - kwisp   Цитата(flankerr @ 28.2.2009, 11:36) Не лу...   28.2.2009, 11:46
|- - flankerr   Цитата(kwisp @ 28.2.2009, 11:46) Цитата(f...   28.2.2009, 11:54
- - kwisp   flankerr, удостойте меня пожалуйста более разверн...   28.2.2009, 12:00
|- - flankerr   Цитата(kwisp @ 28.2.2009, 12:00) flankerr...   28.2.2009, 12:08
- - kwisp   flankerr, если посмотреть свойство modal в доке п...   28.2.2009, 12:16
- - Litkevich Yuriy   kwisp, flankerr, правильно говорит, насчет модальн...   28.2.2009, 12:32
- - kwisp   Цитата(Litkevich Yuriy @ 28.2.2009, 12:32...   28.2.2009, 12:37
- - Litkevich Yuriy   flankerr, еслиб тебе полностью надобыло сделать фи...   28.2.2009, 12:41
- - kwisp   Litkevich Yuriy, я всегда думал что за это отвеча...   28.2.2009, 12:51
- - flankerr   kwisp, while(dialog->isVisible()...   28.2.2009, 12:56
- - kwisp   flankerr, я же написал Цитата(kwisp @ 28.2.2...   28.2.2009, 12:59
- - flankerr   kwisp, модальность в данном случае обязательна т.к...   28.2.2009, 13:07
- - kwisp   Цитата(flankerr @ 28.2.2009, 13:07) однак...   28.2.2009, 13:24
- - flankerr   kwisp, iResult = pDlg->exec() if(i...   28.2.2009, 13:32
- - kwisp   1. можно вынести в отдельную функцию которая будет...   28.2.2009, 13:39
- - flankerr   kwisp Кажется теперь я не много погоричился... set...   28.2.2009, 13:52
- - kwisp   Цитата(flankerr @ 28.2.2009, 13:52) Кажет...   28.2.2009, 13:54
- - flankerr   kwisp, да на счёт setModal попутал. но всё равно г...   28.2.2009, 14:00
- - kwisp   flankerr, честно говоря я бы уже переопределил ди...   28.2.2009, 14:09
- - flankerr   kwisp, так я сразу сделал как написал с открытием...   28.2.2009, 14:16
- - Litkevich Yuriy   Давайте модальность QDialog в отдельной теме обсуж...   28.2.2009, 14:22
- - kwisp   Litkevich Yuriy, с позднячком. обсудили уже, прос...   28.2.2009, 14:22
- - Litkevich Yuriy   Цитата(kwisp @ 28.2.2009, 17:22) просто р...   28.2.2009, 14:34
- - kwisp   ЦитатаА пользователей плохая привычка все в кучу с...   28.2.2009, 14:36


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 11.3.2025, 4:41