Как показать QLabel... |
Здравствуйте, гость ( Вход | Регистрация )
Как показать QLabel... |
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 |
Всем добрый вечер! Проблема в следующем. Создал 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 |
|
|
|
silver47 |
8.3.2011, 7:18
Сообщение
#6
|
Активный участник Группа: Участник Сообщений: 356 Регистрация: 1.4.2010 Пользователь №: 1584 Спасибо сказали: 40 раз(а) Репутация: 6 |
Я с Делфи переползаю, так что в С++ новичок, где моя ошибка? В данном случае QLabel не удаляется при выходе из функции, просто его видно только в этой функции. Области видимости. |
|
|
Алексей1153 |
9.3.2011, 7:55
Сообщение
#7
|
фрилансер Группа: Участник Сообщений: 2941 Регистрация: 19.6.2010 Из: Обливион Пользователь №: 1822 Спасибо сказали: 215 раз(а) Репутация: 34 |
|
|
|
silver47 |
10.3.2011, 7:18
Сообщение
#8
|
Активный участник Группа: Участник Сообщений: 356 Регистрация: 1.4.2010 Пользователь №: 1584 Спасибо сказали: 40 раз(а) Репутация: 6 |
В данном случае имеем утечку памяти TRPO::TRPO(QWidget *parent) : QWidget(parent) { QLabel *formyla = new QLabel ("Ответ: "); } Мне кажется, что если конструктор будет вызваться один раз, то не критично, при закрытии приложения это подотреться, но конечно же лучше или следить и удалять такое, или хотя-бы указывать родителя, чтобы этот QLabel удалился при удалении родителя. Кстати, достаточно указать родителя у главного Layout'а, который отвечает за размещение всех элементов формы. Сообщение отредактировал silver47 - 10.3.2011, 7:19 |
|
|
Текстовая версия | Сейчас: 18.1.2025, 22:38 |