如何打印Qt中的枚举所对应的字符串
比如,想获得socket的状态枚举文字,
代码如下:
QMetaObject mo=QAbstractSocket::staticMetaObject;
int index=mo.indexOfEnumerator(QString("SocketState").toLatin1().data());
QMetaEnum socketStatusEnum = mo.enumerator(index);
qDebug()<<socketStatusEnum.keyCount();
for (int i=; i<socketStatusEnum.keyCount(); ++i)
{
qDebug()<<socketStatusEnum.key(i);
}
输出为:
Starting F:\exercise\build-untitled19-Desktop_Qt_5_4_0_MinGW_32bit-Debug\debug\untitled19.exe... UnconnectedState
HostLookupState
ConnectingState
ConnectedState
BoundState
ListeningState
ClosingState
当想要输出当前socket的状态的时候,可以看下面代码
QTcpSocket *socket=new QTcpSocket;
QAbstractSocket::SocketState socketState=socket->state(); const QMetaObject & mo = QAbstractSocket::staticMetaObject;
QMetaEnum me = mo.enumerator(mo.indexOfEnumerator("SocketState"));
qDebug()<<me.valueToKey(socketState);
输出为
Starting F:\exercise\build-untitled10-Desktop_Qt_5_4_0_MinGW_32bit-Debug\debug\untitled10.exe...
UnconnectedState
转自:http://blog.csdn.net/u012199908/article/details/50325571
如何打印Qt中的枚举所对应的字符串的更多相关文章
- Qt中的打印操作
Qt中对打印的支持是有一个独立的printsupport模块来完成的,所以,要想在程序中使用Qt的打印功能,必须先在pro文件中添加下面这句代码: QT += printsupport在这个模块中,提 ...
- Qt 中如何捕获窗口停用和激活的消息
最近一直在用Qt做一个简单的俄罗斯方块的游戏,由于要实现一个暂停游戏的功能,就是当鼠标移出正在运行的游戏,点击电脑桌面上的其他位置时,这个时候游戏暂停.在这里把实现过程简单的记录一下,作为一个学习笔记 ...
- 第47课 Qt中的调色板
1. QPalette类 (1)QPalette类提供了绘制QWidget组件的不同状态所使用的颜色. (2)QPalette对象包含了3个状态的颜色描述 ①激活颜色组(Active):组件获得焦点使 ...
- Qt中sizeof
class a{ int d; // virtual void ssss(); }; qDebug() <<sizeof(a) << sizeof(int) << ...
- 【译】Java中的枚举
前言 译文链接:http://www.programcreek.com/2014/01/java-enum-examples/ Java中的枚举跟其它普通类很像,在其内部包含了一堆预先定义好的对象集合 ...
- 第30课 Qt中的文本编辑组件
1. 3种常用的文本编辑组件的比较 单行文本支持 多行文本支持 自定义格式支持 富文本支持 QLineEdit (单行文本编辑组件) Yes No No No QPlainTextEdit (多行普通 ...
- 说说Java中的枚举(一)
在实际编程中,往往存在着这样的“数据集”,它们的数值在程序中是稳定的,而且“数据集”中的元素是有限的.例如星期一到星期日七个数据元素组成了一周的“数据集”,春夏秋冬四个数据元素组成了四季的“数据集”. ...
- QT中的SOCKET编程(QT-2.3.2)
转自:http://mylovejsj.blog.163.com/blog/static/38673975200892010842865/ QT中的SOCKET编程 2008-10-07 23:13 ...
- 解析Qt中QThread使用方法
本文讲述的是在Qt中QThread使用方法,QThread似乎是很难的一个东西,特别是信号和槽,有非常多的人(尽管使用者本人往往不知道)在用不恰当(甚至错误)的方式在使用QThread,随便用goog ...
随机推荐
- mysql-5.7 show engine innodb status 详解
一.show engine innodb status 简介: show engine innodb status 是mysql提供的一个用于查看innodb引擎时间信息的工具,就目前来说有两处比较 ...
- Eclipse中导入Git项目
1.先将项目git到本地 2.导入刚刚git到本地项目 if(如果project带.calsspath .project 文件){ 直接用genaral导入或andorid project导入即可. ...
- 笔记本上安装centos7
1.下载centos的dvd镜像就够了.地址: 2.制作u盘镜像. 1)下载安装UltraIOS,(百度云->软件文件夹有,for me). 2)打开镜像,选择“启动”-->“写入硬盘镜像 ...
- sqlite时间戳转时间语句(时间转时间戳)实例
sqlite时间戳转时间.时间转时间戳的方法 实现代码: sqlite, 'unixepoch', 'localtime'); +----------------------------------- ...
- paip.提升性能--多核编程中的java .net php c++最佳实践 v2.0 cah
paip.提升性能--多核编程中的java .net php c++最佳实践 v2.0 cah 作者Attilax 艾龙, EMAIL:1466519819@qq.com 来源:attilax ...
- Chisel Tutorial(七)——模块
下面内容根据2015-7-10版的Chisel 2.2 Tutorial整理 Chisel中的模块与Verilog HDL中模块的概念十分相似,都是用层次结构描写叙述电路.Chisel中的module ...
- zabbix 源
http://repo.zabbix.com/ # cat /etc/yum.repos.d/zabbix.repo [zabbix] name=Zabbix Official Repository ...
- css3导航hover悬停效果
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta http ...
- sass的学习笔记
sass初学入门笔记(一) 我本身是个新手,一边学sass一边记下的笔记,可能有点罗嗦,但是复习起来的话还是比较全面直观的.当然,最重要的还是去实践,实践得真理 其它 CSS 预处理器语言: CSS ...
- angularjs获取元素以及angular.element()用法
addClass()-为每个匹配的元素添加指定的样式类名 after()-在匹配元素集合中的每个元素后面插入参数所指定的内容,作为其兄弟节点 append()-在每个匹配元素里面的末尾处插入参数内容 ...