Интересует мнение по поводу кода, *не знал куда поместить |
Здравствуйте, гость ( Вход | Регистрация )
Интересует мнение по поводу кода, *не знал куда поместить |
Litkevich Yuriy |
19.3.2011, 19:03
Сообщение
#11
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
По моему нет код конструктора должен выглядеть так:А в чем проблема? Вроде работает. Прежде чем будет инициализирован объект твоего класса, сначала вызывается конструктор базового класса (т.к. ему могут требоваться некие настройки). Если ты явно не указываешь какой именно конструктор базового класса вызывать, то будет вызван конструктор по умолчанию.Взгляни на обычный наследник QWidget: здесь мы в конструктор базового класса (QWidget) передаём указатель на QWidget, который является аргументом нашего конструктора. Если же мы так не будем делать, или вовсе не станем явно вызывать конструктор базового класса, то вызовется конструктор по умолчанию.Когда конструируется QWidget без указания родителя, то такой виджет - окно верхнего уровня. А значит и наш виджет станет окном верхнего уровня. вот пример: не взирая на то, что мы создали w с указанием родителя, всё-равно w будет окном верхнего уровня. Т.к. в конструктор базового класса родитель не попадает.у тебя пока всё работает, т.к. ты тестируешь свой класс изолированно, т.е. не помещая его в реальную программу. Обычно диалоги центрируют по родителю, это достигается тем, что в конструктор QDialog передаётся указатель на родителя. В твоём классе этого не предусмотрено. |
|
|
Текстовая версия | Сейчас: 27.12.2024, 18:11 |