Здравствуйте, гость ( Вход | Регистрация )
Алексей1153 | Дата 15.9.2010, 21:23 |
Daan, это таким образом реализована передача параметров в конструктор родительского класса (вообще, в списке инициализации не только конструктор родителя можно вызвать, но и конструкторы членов-переменных класса) | |
Litkevich Yuriy | Дата 15.9.2010, 21:04 |
А не подскажете, для чего служит эта часть: : QWidget(pwgt,f) ? для инициализации базового класса, почитай книжки по Си++ |
|
Daan | Дата 15.9.2010, 21:02 |
Да, действительно) Second::Second(First* pF,QWidget* pwgt,Qt::WindowFlags f) : QWidget(pwgt,f) А не подскажете, для чего служит эта часть: : QWidget(pwgt,f) ? |
|
Алексей1153 | Дата 14.9.2010, 18:25 |
Может быть после закрытия второго окна ? ну, в принципе, да ) А если в функцию OPEN() вставить проверку указывает ли s на виджет, который уже создан, и тогда просто вызывать s->show(); Или никак не проверить ? технически можно, но нужно ли - это зависит от логики твоего алгоритма. Которого никто, кроме тебя, не знает ) |
|
Daan | Дата 14.9.2010, 15:46 |
Спасибо большое за ответ. А кстати насчет освобождения памяти после void First::OPEN(){ s = new Second; s->show(); } В какой момент можно выполнять delete s; Может быть после закрытия второго окна ? А если в функцию OPEN() вставить проверку указывает ли s на виджет, который уже создан, и тогда просто вызывать s->show(); Или никак не проверить ? |
|
Алексей1153 | Дата 13.9.2010, 21:11 |
попробуй так. Изменённые места помечены //<<<<<<
а ещё не забудь освободить памать из-под s
Как вариант:
И флаги лучше не цифрой указывать, а константой Qt::WindowFlags f = Qt::WindowShadeButtonHint |
|
Daan | Дата 13.9.2010, 20:48 |
Так и сделал, но чего-то не хватает. Вообщем во вложении то, о чем я говорю. Мне надо чтобы при нажатии кнопки SET TEXT, принадлежащей второму окну, в первом окне происходи вызов функции, которая устанавливает текст в QLineEdit код тут |
|
ufna | Дата 13.9.2010, 14:36 |
Посмотри технологию сигнал-слот. В "first" будет слот, в "second" сигнал. В нужный момент отсылаешь сигнал, а слот - и есть нужная тебе функция. |
|
Daan | Дата 13.9.2010, 14:26 |
Имеются два класса, class FIRST и class SECOND, наследуемые от QWidget. Описаны и определены соответственно в файлах firstclass.h + firstclass.cpp и secondclass.h + secondclass.cpp Класс FIRST, чей конструктор объявлен в firstclass.h включает #include "secondclass.h" и имеет среди членов указатель на объекта класса SECOND, например SECOND s*; Затем в функции main создается объект класса FIRST и появляется окно. Затем при выполнении какой-то функции класса FIRST создается через указатель s* объект класса SECOND и появляется отдельное окно - виджет класса SECOND Задача такова: Мне теперь нужно после выполнения определенной функции класса SECOND, описание которой находится в secondclass.cpp вызвать определенную функцию ( допустим функция void take_control() ) класса FIRST, которая описана в файле firstclass.cpp. (Она будет обрабатывать данные из общего массива, который изменялся во втором окне и рамещать их в первом окне) Как мне получить доступ к функциям уже созданного объекта класса FIRST из класса SECOND ? Меня смущает то, что объект класса FIRST уже создан |
|
Просмотр темы полностью (откроется в новом окне) | |
Текстовая версия | Сейчас: 29.4.2024, 20:13 |