• 4871阅读
  • 6回复

Qt 枚举值如何打印成字符串? [复制链接]

上一主题 下一主题
离线shixingya
 

只看楼主 倒序阅读 楼主  发表于: 2015-12-03
  enum PageSize { A4, B5, Letter, Legal, Executive,
                    A0, A1, A2, A3, A5, A6, A7, A8, A9, B0, B1,
                    B10, B2, B3, B4, B6, B7, B8, B9, C5E, Comm10E,
                    DLE, Folio, Ledger, Tabloid, Custom, NPageSize = Custom, NPaperSize = Custom };
    typedef PageSize PaperSize;

程序中怎么将这些枚举值以字符串的形式打印在label上?
本人2008年9月至2012年6月在三亚学院学习计算机科学与技术专业四年,2012年6月毕业后至今一直在北京市从事软件开发相关工作。本人的技术栈是C++、熟悉Qt、CEF框架。参与或负责过多款Windows、Linux环境下桌面软件的研发。
参加工作十年来,使用Qt参与开发过一个军工仿真想定建模工具,仿真陆、海、空潜等各兵种的作战平台(包括地面车辆、水面舰艇、固定翼/旋转翼飞机、潜艇等)的运动方式和工作流程,实现陆、海、空、潜立体化协同作战仿真。在国美调研过电商OA办公工具的开发设计、在广联达参与了BIM软件的协作开发、在书生电子独立负责过OFD版式阅读器客户端的开发、在跟谁学使用Qt WebEngine、QGraphics等主导了练习批改工具的开发,在蓝湖基于WebAssembly对标Figma参与开发了一款原型设计工具mastergo,在小米集团技术委员会承担了平台应用研发工作,目前在凌云光从事视觉相关应用平台开发。十多年的软件开发工作,让我在软件工程、程序设计、系统架构方面积累了丰富且宝贵的经验。
有同行的朋友,可以加我微信,一起进步
我叫史星亚 微信: EagleAndy  
加好友时请备注  来自qtcn
我有个Qt交友群,拉您入群
非工作时间 可以电联 18610042411
*********************************************************
另低价出售
→各种软件小程序定制!
→SAP教程,涵盖BI/SD/FICO/HANA等各种模块视频教程,购买教程,拾取金领顾问教程!
→各种考证考研题库,保证考证考研成功上岸!
→抖音快手微博朋友圈各种点赞支持,最快一分钟上万赞!
→挂机打卡,远程叫醒,等各种服务欢迎私信EagleAndy开启!
转发此内容,私信EagleAndy,有定制盲盒寄送!
离线z55716368

只看该作者 1楼 发表于: 2015-12-03
A4 = "A4",B5 = "B5"..................................
每一个问题 都是一次进步
离线shixingya

只看该作者 2楼 发表于: 2015-12-03
回 z55716368 的帖子
z55716368:A4 = "A4",B5 = "B5".................................. (2015-12-03 16:54) 


在程序中打印出PageSize的枚举项值和枚举项对应的字符串

本人2008年9月至2012年6月在三亚学院学习计算机科学与技术专业四年,2012年6月毕业后至今一直在北京市从事软件开发相关工作。本人的技术栈是C++、熟悉Qt、CEF框架。参与或负责过多款Windows、Linux环境下桌面软件的研发。
参加工作十年来,使用Qt参与开发过一个军工仿真想定建模工具,仿真陆、海、空潜等各兵种的作战平台(包括地面车辆、水面舰艇、固定翼/旋转翼飞机、潜艇等)的运动方式和工作流程,实现陆、海、空、潜立体化协同作战仿真。在国美调研过电商OA办公工具的开发设计、在广联达参与了BIM软件的协作开发、在书生电子独立负责过OFD版式阅读器客户端的开发、在跟谁学使用Qt WebEngine、QGraphics等主导了练习批改工具的开发,在蓝湖基于WebAssembly对标Figma参与开发了一款原型设计工具mastergo,在小米集团技术委员会承担了平台应用研发工作,目前在凌云光从事视觉相关应用平台开发。十多年的软件开发工作,让我在软件工程、程序设计、系统架构方面积累了丰富且宝贵的经验。
有同行的朋友,可以加我微信,一起进步
我叫史星亚 微信: EagleAndy  
加好友时请备注  来自qtcn
我有个Qt交友群,拉您入群
非工作时间 可以电联 18610042411
*********************************************************
另低价出售
→各种软件小程序定制!
→SAP教程,涵盖BI/SD/FICO/HANA等各种模块视频教程,购买教程,拾取金领顾问教程!
→各种考证考研题库,保证考证考研成功上岸!
→抖音快手微博朋友圈各种点赞支持,最快一分钟上万赞!
→挂机打卡,远程叫醒,等各种服务欢迎私信EagleAndy开启!
转发此内容,私信EagleAndy,有定制盲盒寄送!
离线stlcours

只看该作者 3楼 发表于: 2015-12-03
枚举比较弱智,代码虽然简洁,但是表现力非常弱。我也早有同感。
离线hezf

只看该作者 4楼 发表于: 2015-12-05
回 stlcours 的帖子
stlcours:枚举比较弱智,代码虽然简洁,但是表现力非常弱。我也早有同感。 (2015-12-03 21:27) 

有更好的方法吗?
感觉还好哇,体积小,在代码里看起来还是很清晰的
none
离线ustcgdd

只看该作者 5楼 发表于: 2015-12-16
我也有同样的问题,通过函数我只能拿到枚举的整型值,怎么通过这些枚举值拿到对应的字符,并把枚举值对应的字符显示在界面的对话框之中。
离线kimtaikee

只看该作者 6楼 发表于: 2015-12-16
存到Map里面吧
  1. #define INSERT_ENUM(ENUM) map.insert(ENUM, #ENUM);
  2. INSERT_ENUM( A4)
  3. INSERT_ENUM( B5)
  4. INSERT_ENUM( Letter)
  5. INSERT_ENUM( Legal)
  6. INSERT_ENUM( Executive)

然后用的时候直接从map里面拿字符串.

快速回复
限100 字节
 
上一个 下一个