crossplatform.ru

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

crazymonkey
  опции профиля:
сообщение 23.6.2011, 18:46
Сообщение #1


Студент
*

Группа: Участник
Сообщений: 26
Регистрация: 23.6.2011
Пользователь №: 2764

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




Репутация:   0  


Добрый день.

Задача: сделать несколько форм появляющихся последовательно друг за другом.
Я вроде сделал но как то неуверен насчет наследования и памяти. Как на ваш взгляд правильно ли я сделал?



Файл желательно не открывать в блокноте. Переносы строк не правильны. Notepad++ все нормально
Прикрепленные файлы
Прикрепленный файл  test.txt ( 2.89 килобайт ) Кол-во скачиваний: 453
 
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
2 страниц V   1 2 >  
Начать новую тему
Ответов (1 - 12)
RazrFalcon
  опции профиля:
сообщение 23.6.2011, 18:56
Сообщение #2


Zombie Mod
*****

Группа: Участник
Сообщений: 1654
Регистрация: 24.5.2010
Из: Харьков
Пользователь №: 1752

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




Репутация:   212  


Ну вроде норм =/
Создали класс формы. Затем определили его в главной форме и show().
Вот и все дела.
Или я не правильно понял?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
crazymonkey
  опции профиля:
сообщение 23.6.2011, 19:06
Сообщение #3


Студент
*

Группа: Участник
Сообщений: 26
Регистрация: 23.6.2011
Пользователь №: 2764

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




Репутация:   0  


Больше всего меня интересует правильно ли я закрыл первое окно в слоте slotButtonClicked().
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
RazrFalcon
  опции профиля:
сообщение 23.6.2011, 19:28
Сообщение #4


Zombie Mod
*****

Группа: Участник
Сообщений: 1654
Регистрация: 24.5.2010
Из: Харьков
Пользователь №: 1752

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




Репутация:   212  


А зачем сразу закрывать то?
 StartDialog::close();

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

Тогда просто:
close();
или
exit(1);
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
crazymonkey
  опции профиля:
сообщение 23.6.2011, 20:22
Сообщение #5


Студент
*

Группа: Участник
Сообщений: 26
Регистрация: 23.6.2011
Пользователь №: 2764

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




Репутация:   0  


я именно одну создаю и предыдущую удаляю
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
RazrFalcon
  опции профиля:
сообщение 2.8.2011, 0:22
Сообщение #6


Zombie Mod
*****

Группа: Участник
Сообщений: 1654
Регистрация: 24.5.2010
Из: Харьков
Пользователь №: 1752

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




Репутация:   212  


Вопрос к знающим. Если я тоже самое делаю. То есть создаю новое окно, то вызов close(); у родителя его(родителя) полностью закроет. То есть уберет из памяти? То есть будет тот же процесс, но окно теперь будет другим. да?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
PAFOS
  опции профиля:
сообщение 2.8.2011, 13:17
Сообщение #7


Активный участник
***

Группа: Участник
Сообщений: 258
Регистрация: 27.12.2010
Из: Дмитров
Пользователь №: 2309

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




Репутация:   8  


Для того чтобы виджет сразу удалился после метода close() необходимо дать ему атрибут Qt::WA_DeleteOnClose.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
RazrFalcon
  опции профиля:
сообщение 2.8.2011, 13:43
Сообщение #8


Zombie Mod
*****

Группа: Участник
Сообщений: 1654
Регистрация: 24.5.2010
Из: Харьков
Пользователь №: 1752

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




Репутация:   212  


У меня с этим ключем падает прога, при удалении родителя.

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

    close();
}
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 2.8.2011, 17:34
Сообщение #9


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

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




Репутация:   94  


Цитата(RazrFalcon @ 2.8.2011, 16:43) *
У меня с этим ключем падает прога, при удалении родителя.
в приведённом тобой коде нет установки атрибута. А вообще данный код, должен закрыть лишь окно типа Cleaner
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
RazrFalcon
  опции профиля:
сообщение 2.8.2011, 18:05
Сообщение #10


Zombie Mod
*****

Группа: Участник
Сообщений: 1654
Регистрация: 24.5.2010
Из: Харьков
Пользователь №: 1752

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




Репутация:   212  


Cleaner::Cleaner(QWidget *parent) :
  MyWizard(parent)
{
  setupUi(this);

  setAttribute(Qt::WA_DeleteOnClose,true);
...
}
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 3.8.2011, 17:55
Сообщение #11


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

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




Репутация:   94  


OutWindow чей наследник?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
RazrFalcon
  опции профиля:
сообщение 3.8.2011, 18:51
Сообщение #12


Zombie Mod
*****

Группа: Участник
Сообщений: 1654
Регистрация: 24.5.2010
Из: Харьков
Пользователь №: 1752

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




Репутация:   212  


QMainWindow
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
RazrFalcon
  опции профиля:
сообщение 17.8.2011, 16:58
Сообщение #13


Zombie Mod
*****

Группа: Участник
Сообщений: 1654
Регистрация: 24.5.2010
Из: Харьков
Пользователь №: 1752

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




Репутация:   212  


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

Если запускать через:
    outWindow->exec();
то падений нет, но функция не стартует.
Как решить эту проблему?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

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


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


RSS Рейтинг@Mail.ru Текстовая версия Сейчас: 22.6.2025, 15:18