crossplatform.ru

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


  Ответ в Cделать окно модальным
Введите ваше имя
Подтвердите код

Введите в поле код из 6 символов, отображенных в виде изображения. Если вы не можете прочитать код с изображения, нажмите на изображение для генерации нового кода.
Теги
Выровнять по центру
Ссылка на тему
Ссылка на сообщение
Скрытый текст
Сокращение
Код с подсветкой
Offtopic
 
Удалить форматирование
Спец. элементы
Шрифт
Размер
 
Цвет шрифта
 
Отменить ввод
Вернуть ввод
Полужирный
Курсив
Подчеркнутый
 
 
Смайлики
Вставить изображение
Вставить адрес электронной почты
Цитата
Код
Раскрывающийся текст
 
Увеличить отступ
По левому краю
По центру
По правому краю
Вставить список
Вставить список

Опции сообщения
 Включить смайлы?
Иконки сообщения
(Опционально)
                                
                                
  [ Без иконки ]
 


Последние 10 сообщений [ в обратном порядке ]
SABROG Дата 9.3.2009, 14:57
  Набросал 2 варианта:

    QEventLoop el(this);
    QWidget wid(this, Qt::Dialog);
    QPushButton btn("Exit", &wid);
    connect(&btn, SIGNAL(clicked()), &el, SLOT(quit()));
    wid.setWindowModality(Qt::WindowModal);
    wid.show();
    el.exec();


    QEventLoop el(this);
    QWidget *wid = new QWidget(this, Qt::Dialog);
    QPushButton *btn = new QPushButton("Exit", wid);
    connect(btn, SIGNAL(clicked()), &el, SLOT(quit()));
    wid->setWindowModality(Qt::WindowModal);
    wid->show();
    el.exec();
    wid->deleteLater();
kwisp Дата 9.3.2009, 14:45
 
Цитата(++Norton++ @ 9.3.2009, 14:43) *
kwisp, но я так понял это применимо только к QDialog? А к QWidget?

так точно.
не изобретай велосипед. скорее всего подойдет стандартный способ решения:)
здесь что то было подобное
++Norton++ Дата 9.3.2009, 14:43
  SABROG, да, попробовал, дело в том, что в этом случае открывается новый диалог, в этом же окне (новое не создается). :(


kwisp, но я так понял это применимо только к QDialog? А к QWidget?
kwisp Дата 9.3.2009, 14:37
  используй
Цитата
QDialog::exec()
SABROG Дата 9.3.2009, 14:37
 
Цитата(++Norton++ @ 9.3.2009, 14:36) *
Нет, немного не то. Имеется ввиду чтобы открывалось окно (новое) но переключиться на предыдущее было нельзя. (типа диалога Save as...: т.е. мы в этом диалоге можем щелкать что хотим, но пока его не закроем, с основным окном программы работать не можем)

А ты пробовал компилить то, что я предложил?
++Norton++ Дата 9.3.2009, 14:36
  Нет, немного не то. Имеется ввиду чтобы открывалось окно (новое) но переключиться на предыдущее было нельзя. (типа диалога Save as...: т.е. мы в этом диалоге можем щелкать что хотим, но пока его не закроем, с основным окном программы работать не можем)
SABROG Дата 9.3.2009, 14:29
  ?
new NewWindow(this);
++Norton++ Дата 9.3.2009, 14:26
  По нажатии на кнопку открывается еще одно окно. И все бы нормально, но хотелось бы, чтобы переключаться между этими окнами было невозможно (т.е. пока второе окно открыто, работа с первым невозможна). Как это можно реализовать?
Пробовал так:
NewWindow *nw = new NewWindow;
nw->setWindowModality(Qt::WindowModal) //кажется так...
nw->show();

Но переключение все равно было возможным :(
Помогите разобраться пожалуйста!
Просмотр темы полностью (откроется в новом окне)
RSS Рейтинг@Mail.ru Текстовая версия Сейчас: 10.7.2025, 4:38