![]() |
|
|
![]()
|
|
| yngwie19 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 829 Регистрация: 15.6.2008 Где: Новгород Репутация: нет Всего: нет |
Всем привет вот мой код. Подскажите почему при показе QLabel появляется пустое окно без текста "My Name":
|
|||
|
||||
| andrew_121 |
|
|||
![]() Кодофей ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3448 Регистрация: 3.1.2008 Репутация: 11 Всего: 33 |
Потому что метод show() вызывать нужно у объекта MyClass. А QLabel должен быть его членом, и в качестве парента должен использовать this. Именно об этом я тебе и пытался сказать здесь: http://forum.vingrad.ru/forum/topic-263063.html
-------------------- Удалил аккаунт. Прощайте! |
|||
|
||||
| Любитель |
|
|||
|
Программист-романтик ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3645 Регистрация: 21.5.2005 Где: Воронеж Репутация: 16 Всего: 92 |
Это, конечно, не по теме вопроса, но:
1. Возвращать указатель на char?! 2. В чём смысл пользование методом property со статическим параметром (известным в компайл-тайм, всмысле) для известного класса? Это ж ведь значительно медленнее, чем нормальный вызов конкретного метода! 3. Зачем создавать lbl и mc в куче? Да ещё и не удалять их (да, это уже обсуждалось тут не раз - в данном случае ничего не случится, но это ужасная практика). 4. И ещё - NULL в С++ всё-таки не особо принято писать (ибо требует никому не нужного инклюда, а ведь достаточно написать 0). |
|||
|
||||
| yngwie19 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 829 Регистрация: 15.6.2008 Где: Новгород Репутация: нет Всего: нет |
andrew_121,
не понял. у MyClass нет метода show. исправь пожалуйста в моем коде, покажи что ты имеешь в виду. |
|||
|
||||
| Любитель |
|
|||
|
Программист-романтик ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3645 Регистрация: 21.5.2005 Где: Воронеж Репутация: 16 Всего: 92 |
yngwie19, посмотри какие дебажные сообщения при запуске выводит твой код ;)
Ещё раз - зачем так извращаться?! Почему не использовать "обычный" (для Qt) QString? |
|||
|
||||
| yngwie19 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 829 Регистрация: 15.6.2008 Где: Новгород Репутация: нет Всего: нет |
Любитель, спасибо теперь получилось! Я не понял о чем говорит andrew_121, стоит так делать?
|
|||
|
||||
| SABROG |
|
|||
![]() Hacker ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2481 Регистрация: 18.9.2006 Репутация: 81 Всего: 91 |
У QVariant'a нет типа "char *": QVariant::type
Поэтому тебе надо использовать QString, если ты хочешь содержать в свойстве строку. Но, если ты все-таки хочешь содержать там указатель на Си строку или любой другой тип, то тогда тебе его нужно зарегистрировать:
|
|||
|
||||
| yngwie19 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 829 Регистрация: 15.6.2008 Где: Новгород Репутация: нет Всего: нет |
SABROG, спасибо тебе большое.
|
|||
|
||||
| andrew_121 |
|
|||
![]() Кодофей ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3448 Регистрация: 3.1.2008 Репутация: 11 Всего: 33 |
Да. И за это нужно бить по рукам. SABROG, Странный код получился) Обычно виджеты пихают в базовый класс. -------------------- Удалил аккаунт. Прощайте! |
|||
|
||||
| SABROG |
|
|||
![]() Hacker ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2481 Регистрация: 18.9.2006 Репутация: 81 Всего: 91 |
Предлагаешь привести указатель QObject'a к QWidget'у и передать в качестве родителя? ;) setParent() тоже не поможет, он переопределен у QWidget'a под QWidget* вместо QObject*. Это сообщение отредактировал(а) SABROG - 14.6.2009, 14:23 |
|||
|
||||
| andrew_121 |
|
|||
![]() Кодофей ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3448 Регистрация: 3.1.2008 Репутация: 11 Всего: 33 |
В %QTDIR%/examples есть куча примеров. Именно для того, чтоб не возникало подобных вопросов.
Кроме нормального учебника, тутваще ничего не поможет))) Добавлено @ 15:19 Естественно! Я бы удивился если бы он там был Это сообщение отредактировал(а) andrew_121 - 14.6.2009, 15:20 -------------------- Удалил аккаунт. Прощайте! |
|||
|
||||
| SABROG |
|
|||
![]() Hacker ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2481 Регистрация: 18.9.2006 Репутация: 81 Всего: 91 |
Учебники - скукота. Я например пишу то, что мне интересно, выбираю себе задачки сам. Если мне не интересно возится с сокетами, пока не припрет не стану изучать. Создавать третий виджет как-то влом было, да и превращать QObject в QWidget неохото |
|||
|
||||
| andrew_121 |
|
||||
![]() Кодофей ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3448 Регистрация: 3.1.2008 Репутация: 11 Всего: 33 |
Гм... Уважаемый, вы же не новичек! Все так. Потом локти грызем.
Да. Но было бы правильно. -------------------- Удалил аккаунт. Прощайте! |
||||
|
|||||
| SABROG |
|
||||
![]() Hacker ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2481 Регистрация: 18.9.2006 Репутация: 81 Всего: 91 |
Новичек. Я еще ни одного серьезного приложения на Qt не написал. Всё утилиты небольшие. Еще было бы правильно придерживаться стиля Qt и написать так:
Тогда не смотря на внутреннее имя переменной m_name к свойству можно обращаться как к "name" и использовать методы в Qtшном стиле:
Странно, что на это никто не обратил внимания |
||||
|
|||||
| andrew_121 |
|
|||
![]() Кодофей ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3448 Регистрация: 3.1.2008 Репутация: 11 Всего: 33 |
-------------------- Удалил аккаунт. Прощайте! |
|||
|
||||
![]()
|
| Правила форума "С/С++: Кроссплатформенное программирование, QT/Gtk+/wxWidgets" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, Любитель. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |