Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
|
Serg_yl |
7.3.2011, 22:01
Сообщение
#1
|
|
Новичок Группа: Новичок Сообщений: 3 Регистрация: 7.3.2011 Пользователь №: 2480 Спасибо сказали: 0 раз(а) Репутация: 0
|
Всем добрый вечер!
Проблема в следующем. Создал QLabel в одной функции, его заполнение происходит из другой функции (при этом хочется совместить строки Ответ: число). При сборке, Creat ругатется что не видит этот Qlabel. Как правельно написать эту строку записи в QLabel? Спасибо! |
|
|
|
|
Командор |
7.3.2011, 22:07
Сообщение
#2
|
|
Новичок Группа: Новичок Сообщений: 4 Регистрация: 7.3.2011 Пользователь №: 2478 Спасибо сказали: 0 раз(а) Репутация: 0
|
Цитата(Serg_yl @ 7.3.2011, 22:01) Link Всем добрый вечер! Проблема в следующем. Создал QLabel в одной функции, его заполнение происходит из другой функции (при этом хочется совместить строки Ответ: число). При сборке, Creat ругатется что не видит этот Qlabel. Как правельно написать эту строку записи в QLabel? Спасибо! QLabel нужно объявить в описании класса, а в конструкторе просто создавать. А у тебя объявляется в конструкторе, тут же создается, а при выходе из конструктора (а это обычная функция) объект уничтожается. |
|
|
|
|
Serg_yl |
7.3.2011, 22:24
Сообщение
#3
|
|
Новичок Группа: Новичок Сообщений: 3 Регистрация: 7.3.2011 Пользователь №: 2480 Спасибо сказали: 0 раз(а) Репутация: 0
|
Спасибо! Все заработало так как надо!
|
|
|
|
|
kwisp |
8.3.2011, 0:03
Сообщение
#4
|
|
астарожна ынтжинэр ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 1404 Регистрация: 26.11.2008 Из: ТаганрогРодинаЧехова Пользователь №: 435 Спасибо сказали: 113 раз(а) Репутация: 23
|
Командор, Serg_yl,
вам обоим не мешало бы почитать основы С++ |
|
|
|
|
Командор |
8.3.2011, 0:13
Сообщение
#5
|
|
Новичок Группа: Новичок Сообщений: 4 Регистрация: 7.3.2011 Пользователь №: 2478 Спасибо сказали: 0 раз(а) Репутация: 0
|
Цитата(kwisp @ 8.3.2011, 0:03) Link Командор, Serg_yl, вам обоим не мешало бы почитать основы С++ Я с Делфи переползаю, так что в С++ новичок, где моя ошибка? |
|
|
|
|
silver47 |
8.3.2011, 7:18
Сообщение
#6
|
|
Активный участник ![]() ![]() ![]() Группа: Участник Сообщений: 356 Регистрация: 1.4.2010 Пользователь №: 1584 Спасибо сказали: 40 раз(а) Репутация: 6
|
Цитата(Командор @ 8.3.2011, 2:13) Link Я с Делфи переползаю, так что в С++ новичок, где моя ошибка? В данном случае QLabel не удаляется при выходе из функции, просто его видно только в этой функции. Link |
|
|
|
|
Алексей1153 |
9.3.2011, 7:55
Сообщение
#7
|
![]() фрилансер ![]() ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 2946 Регистрация: 19.6.2010 Из: Обливион Пользователь №: 1822 Спасибо сказали: 215 раз(а) Репутация: 34
|
В данном случае имеем утечку памяти
Цитата(Serg_yl @ 8.3.2011, 0:01) Link TRPO::TRPO(QWidget *parent)
: QWidget(parent) { QLabel *formyla = new QLabel ("Ответ: "); } |
|
|
|
|
silver47 |
10.3.2011, 7:18
Сообщение
#8
|
|
Активный участник ![]() ![]() ![]() Группа: Участник Сообщений: 356 Регистрация: 1.4.2010 Пользователь №: 1584 Спасибо сказали: 40 раз(а) Репутация: 6
|
Цитата(Алексей1153 @ 9.3.2011, 9:55) Link В данном случае имеем утечку памяти Цитата(Serg_yl @ 8.3.2011, 0:01) Link TRPO::TRPO(QWidget *parent) : QWidget(parent) { QLabel *formyla = new QLabel ("Ответ: "); } Мне кажется, что если конструктор будет вызваться один раз, то не критично, при закрытии приложения это подотреться, но конечно же лучше или следить и удалять такое, или хотя-бы указывать родителя, чтобы этот QLabel удалился при удалении родителя. Кстати, достаточно указать родителя у главного Layout'а, который отвечает за размещение всех элементов формы. Сообщение отредактировал silver47 - 10.3.2011, 7:19 |
|
|
|
![]() ![]() ![]() |
|
Текстовая версия | Сейчас: 13.12.2025, 10:16 |