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, 12:59
Сообщение #2


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

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

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




Репутация:   23  


flankerr,
я же написал
Цитата(kwisp @ 28.2.2009, 12:16) *
если не хочешь наследоваться по своим причинам и тебе важно свойство модальности и что бы функция прерывалась на время показа диалога то можешь попробовать сделать так.


если не хочешь чтобы функция прерывалась не пиши последнюю строчку...

я попробую объясниться на счет модальности
Цитата
By default, this property is false and show() pops up the dialog as modeless. Setting his property to true is equivalent to setting QWidget::windowModality to Qt::ApplicationModal.
exec() ignores the value of this property and always pops up the dialog as modal.


видите By default, по-моему здесь ключевое слово.
хочешь модальный диалог ничего не мешает тебе использовать show(); а зацикливаться на том что
Цитата
т.е. exec() - модальный
show() - не модальный

не верно помоему.

далее, елсли flankerr, намерен все равно использовать exec() и не переопределять showEvent() я пока не вижу методов решения задачи...
хотя это я поторопился....

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

Сообщений в этой теме
- 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


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


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




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