Как преобразовать перечисляемый тип в QString ? |
Здравствуйте, гость ( Вход | Регистрация )
Как преобразовать перечисляемый тип в QString ? |
Qt =( |
7.3.2009, 23:45
Сообщение
#1
|
Студент Группа: Новичок Сообщений: 14 Регистрация: 20.1.2009 Пользователь №: 497 Спасибо сказали: 1 раз(а) Репутация: 0 |
Чтобы не плодить неинтересные темы напишу в этой.
Как преобразовать перечисляемый тип typedef enum ..... { ......, ......, ......, } .......; в QString ??? |
|
|
BRE |
7.3.2009, 23:49
Сообщение
#2
|
Профессионал Группа: Участник Сообщений: 1112 Регистрация: 6.3.2009 Из: Ростов-на-Дону Пользователь №: 591 Спасибо сказали: 264 раз(а) Репутация: 44 |
|
|
|
Qt =( |
8.3.2009, 0:11
Сообщение
#3
|
Студент Группа: Новичок Сообщений: 14 Регистрация: 20.1.2009 Пользователь №: 497 Спасибо сказали: 1 раз(а) Репутация: 0 |
Чтобы не плодить неинтересные темы напишу в этой. Как преобразовать перечисляемый тип typedef enum ..... { ......, ......, ......, } .......; в QString ??? Ты хочешь получить имена из перечисления? Тогда никак. да ладно...в делфях и то есть фукция GetEnumName. |
|
|
kwisp |
8.3.2009, 2:24
Сообщение
#4
|
астарожна ынтжинэр Группа: Участник Сообщений: 1404 Регистрация: 26.11.2008 Из: ТаганрогРодинаЧехова Пользователь №: 435 Спасибо сказали: 113 раз(а) Репутация: 23 |
Qt =(,
почему никак? сам пиши функцию а вообще на форуме уже есть тема на этот счет. я пользую так называемый X solution. короче ЗЫ. может новый стандарт нам что нить интересное подкинет. |
|
|
SABROG |
8.3.2009, 11:46
Сообщение
#5
|
Профессионал Группа: Участник Сообщений: 1207 Регистрация: 8.12.2008 Из: Russia, Moscow Пользователь №: 446 Спасибо сказали: 229 раз(а) Репутация: 34 |
Предлагаю не ждать стандартов, а воспользоваться мета-объектными средствами Qt.
Не забудьте прописать CONFIG += console в .pro файле. |
|
|
kwisp |
8.3.2009, 12:05
Сообщение
#6
|
астарожна ынтжинэр Группа: Участник Сообщений: 1404 Регистрация: 26.11.2008 Из: ТаганрогРодинаЧехова Пользователь №: 435 Спасибо сказали: 113 раз(а) Репутация: 23 |
SABROG,
спасибо я к примеру этого не знал. однако,по моему, все все равно сводится к созданию массива(мли мэпа) и функции доступа к строкам(если пользоваться этим напрямую то можно использовать не только в программах на Qt). если честно, громоздко выглядит. чтобы получить строку необходимо объект создать все же это вызов конструктора. и вот эта строка еще. int index = mo.indexOfEnumerator("Language"); доступ к индексу по строке. |
|
|
SABROG |
8.3.2009, 13:18
Сообщение
#7
|
Профессионал Группа: Участник Сообщений: 1207 Регистрация: 8.12.2008 Из: Russia, Moscow Пользователь №: 446 Спасибо сказали: 229 раз(а) Репутация: 34 |
Согласен. Но код по сути - сырец. Можно его причесать так, чтобы было все чин-чинарем, с перегрузкой операторов и прочее.
Кроме того у этого кода есть преимущества над препроцессорными средствами. И к тому же он избавляет человека от двойного объявления членов списка. Раньше я обычно это решал таким образом: //псевдокод
Сообщение отредактировал SABROG - 8.3.2009, 13:18 |
|
|
Qt =( |
11.3.2009, 19:57
Сообщение
#8
|
Студент Группа: Новичок Сообщений: 14 Регистрация: 20.1.2009 Пользователь №: 497 Спасибо сказали: 1 раз(а) Репутация: 0 |
2 SABROG
а если enum Language {ASM, C, CPP, PASCAL, FORTRAN, BASIC, JAVA} описан не в классе? то как тогда? |
|
|
SABROG |
12.3.2009, 12:22
Сообщение
#9
|
Профессионал Группа: Участник Сообщений: 1207 Регистрация: 8.12.2008 Из: Russia, Moscow Пользователь №: 446 Спасибо сказали: 229 раз(а) Репутация: 34 |
|
|
|
Qt =( |
13.3.2009, 15:14
Сообщение
#10
|
Студент Группа: Новичок Сообщений: 14 Регистрация: 20.1.2009 Пользователь №: 497 Спасибо сказали: 1 раз(а) Репутация: 0 |
|
|
|
Текстовая версия | Сейчас: 29.11.2024, 19:59 |