crossplatform.ru

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


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

Введите в поле код из 6 символов, отображенных в виде изображения. Если вы не можете прочитать код с изображения, нажмите на изображение для генерации нового кода.
 

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


Последние 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 Текстовая версия Сейчас: 29.3.2024, 4:09