crossplatform.ru

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


  Ответ в Несколько окон последовательно
Введите ваше имя
Подтвердите код

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

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


Последние 10 сообщений [ в обратном порядке ]
RazrFalcon Дата 17.8.2011, 16:58
  При
setAttribute(Qt::WA_DeleteOnClose,true);
после открытия нового окна - прога падает.
Запускаю так:
    OutWindow *outWindow = new OutWindow(0);
    outWindow->show();
    outWindow->startCleaning(); # моя функция, если ее запускать в конструкторе, то окно появляется уже после окончания функции, а это тупо
    close();

Если запускать через:
    outWindow->exec();
то падений нет, но функция не стартует.
Как решить эту проблему?
RazrFalcon Дата 3.8.2011, 18:51
  QMainWindow
Litkevich Yuriy Дата 3.8.2011, 17:55
  OutWindow чей наследник?
RazrFalcon Дата 2.8.2011, 18:05
 
Cleaner::Cleaner(QWidget *parent) :
  MyWizard(parent)
{
  setupUi(this);

  setAttribute(Qt::WA_DeleteOnClose,true);
...
}
Litkevich Yuriy Дата 2.8.2011, 17:34
 
Цитата(RazrFalcon @ 2.8.2011, 16:43) *
У меня с этим ключем падает прога, при удалении родителя.
в приведённом тобой коде нет установки атрибута. А вообще данный код, должен закрыть лишь окно типа Cleaner
RazrFalcon Дата 2.8.2011, 13:43
  У меня с этим ключем падает прога, при удалении родителя.

Запуск:
void Cleaner::myFinished()
{
    OutWindow *outWindow = new OutWindow(0);
    outWindow->show();

    close();
}
PAFOS Дата 2.8.2011, 13:17
  Для того чтобы виджет сразу удалился после метода close() необходимо дать ему атрибут Qt::WA_DeleteOnClose.
RazrFalcon Дата 2.8.2011, 0:22
  Вопрос к знающим. Если я тоже самое делаю. То есть создаю новое окно, то вызов close(); у родителя его(родителя) полностью закроет. То есть уберет из памяти? То есть будет тот же процесс, но окно теперь будет другим. да?
crazymonkey Дата 23.6.2011, 20:22
  я именно одну создаю и предыдущую удаляю
RazrFalcon Дата 23.6.2011, 19:28
  А зачем сразу закрывать то?
 StartDialog::close();

Или вы одну создаете, предыдущую удаляете?

Тогда просто:
close();
или
exit(1);
Просмотр темы полностью (откроется в новом окне)
RSS Текстовая версия Сейчас: 29.3.2024, 1:46