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);
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
kwisp
  опции профиля:
сообщение 28.2.2009, 11:46
Сообщение #2


астарожна ынтжинэр
*****

Группа: Участник
Сообщений: 1404
Регистрация: 26.11.2008
Из: ТаганрогРодинаЧехова
Пользователь №: 435

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




Репутация:   23  


Цитата(flankerr @ 28.2.2009, 11:36) *
Не лучше и не хуже просто РАЗНЫЙ способ вывода диалога.
Если на пальцах то в случае exec() выполнение функции прерывается до закрытия диалога (т.е. диалог модальный) в случае show() выполение функции в которой был вызван диалог продолжается т.е диалог не модальный.

:)
модальный это если пока не закроешь не получишь фокус другого окна(и вообще оно(другое окно) события принимать от пользовател не должно) а не то что написано выше(что мол ехес() модальный а show() не модальный). для модальности флаги специальный любому виджету имеющему окно можно модальность назанчить...вполне возможно диалог модален по умолчанию.
и потом даже если ты не хочешь городить класс наследник(что помоему нормально целиком и полностью) и хочешь к примеру чтоб программа ожидала результата диалога можешь использовать ожидание в конце концов...но это вопрос задачи уже - неизвестно для чего тебе это.
show()
setFixedHeight()
ожидание закрытия диалога.

Сообщение отредактировал kwisp - 28.2.2009, 11:47
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме
- 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 Текстовая версия Сейчас: 29.4.2024, 17:58