VS2012上写QT代码,但是显示不出来QString的值,我谷歌了很多帖子,仍没有解决问题

yingzijuntuan 2014-09-16 10:09:52
先把我现在的情况贴出来:


我的环境是:VS2012+QT5.1.0+QT5VSADDin

我试过的办法有两个:
1. http://www.cnblogs.com/loongfee/archive/2012/10/26/2741441.html
2. http://www.cnblogs.com/russinovich/archive/2012/06/29/2569898.html

试这两个方法的时候,分别出现的问题如下:

1. 对于这个帖子的内容,我对VS2012做了修改,但是,情况并没有改变,什么变化都没有
2. 对于这个帖子,我做了修正后,情况如下:


希望哪位大侠能帮我解决一下问题
...全文
2186 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
Coase 2016-12-27
  • 打赏
  • 举报
回复
引用 17 楼 liwendongyang 的回复:
没有安装Qt: 工具-->扩展和更新-->联机-->右上角搜索"QtPackage", 联网情况下 下载安装,重启vs -->搞定!
vs2013上已经找不到QtPackage了,不过可以搜索安装 Qt Vistual studio Tools (2013) .
liwendongyang 2016-10-27
  • 打赏
  • 举报
回复
没有安装Qt: 工具-->扩展和更新-->联机-->右上角搜索"QtPackage", 联网情况下 下载安装,重启vs -->搞定!
三世 2016-09-28
  • 打赏
  • 举报
回复
杯具,我也遇到了同样的问题。
我的环境VS2013+qt4.8.7+addin1.2.4

qt变量,断点调试看不到值,只能看到指针。

有高手可以解决吗
yingzijuntuan 2016-06-16
  • 打赏
  • 举报
回复
回复一下自己的吧,这个问题没法解决,可能跟电脑具体的环境哟关系吧。我现在是搞了一个虚拟机,在虚拟机中写代码,没问题了。
zilong2014 2016-01-28
  • 打赏
  • 举报
回复
http://blog.sina.com.cn/u/3252083704 上面有详细的解答,你可以参考一下。
zilong2014 2016-01-28
  • 打赏
  • 举报
回复
http://blog.sina.com.cn/s/blog_c1d6dbf80102w287.html 上面有详细的解答,你可以参考一下。
donwmufromdying 2015-08-25
  • 打赏
  • 举报
回复
想不到这么老的帖子还有人翻出来,QString在Qt4.X等版本中的设计模式是使用的数据隐藏,也就是说实际的类成员变量都是放在类QtCLassPrivate这么一个类里的。导致的结果是你在调试里是无法访问到的,所以也就无法显示出来实际内容,而是一个地址。为啥要这么执着于非要是在watch window里看到QString内容呢?有很多替代方法啊 不过Qt5.x变化挺大的。这里的d定义变成这样了: typedef QTypedArrayData<ushort> QStringData; typedef QStringData Data; Data *d;
clz2012 2015-08-24
  • 打赏
  • 举报
回复
这个问题,有的时候要看脸的,之前在linux下用qtcreator有的时候能看到qstring的值有的时候看不到。。。
云朵0101 2015-08-22
  • 打赏
  • 举报
回复
楼主,你问题解决了吗?也遇到同样的问题,就着急等你回复
yingzijuntuan 2014-11-07
  • 打赏
  • 举报
回复
引用 2 楼 foxyz 的回复:
这个是很经典的一个问题,只能告诉你看不到QString内容是正常的!你如果想看到就自己手工在下边用QString::toAscii().data() 来看吧。QString使用了一个Q_D()的模式隐藏了数据,所以你在调试里看不到
你说的这个Q_D()模式,能不能关掉他?
yingzijuntuan 2014-11-07
  • 打赏
  • 举报
回复
引用 4 楼 jerry2060 的回复:
有两种方式:
(1)在main函数中设置编码方式,类似下面:
QTextCodec::setCodecForTr (QTextCodec::codecForName("GB2312"));
QTextCodec::setCodecForCStrings (QTextCodec::codecForName("GB2312"));
QTextCodec::setCodecForLocale (QTextCodec::codecForName("GB2312"));

(2)将QString转换为char *,然后再查看

希望能有帮助!


有点问题哟

你看看
wyljz 2014-11-07
  • 打赏
  • 举报
回复
调试时可以看到值的,不过感觉使用debug调试很慢,我都是直接在release模式下开发,遇上问题直接qDebug()输出,感觉这样还快点。 debug加断点,慢得不得了
北溟之鱼 2014-11-07
  • 打赏
  • 举报
回复
我用vs2008 + qt5.3, qstring是可以debug显示滴。 要不然调试得多痛苦? 估计是你装的不好,重装。
kof98765 2014-11-03
  • 打赏
  • 举报
回复
看啥看,直接qDebug()<<不就出来了...
jerry2060 2014-10-10
  • 打赏
  • 举报
回复
有两种方式: (1)在main函数中设置编码方式,类似下面: QTextCodec::setCodecForTr (QTextCodec::codecForName("GB2312")); QTextCodec::setCodecForCStrings (QTextCodec::codecForName("GB2312")); QTextCodec::setCodecForLocale (QTextCodec::codecForName("GB2312")); (2)将QString转换为char *,然后再查看 希望能有帮助!
yingzijuntuan 2014-10-10
  • 打赏
  • 举报
回复
引用 2 楼 foxyz 的回复:
这个是很经典的一个问题,只能告诉你看不到QString内容是正常的!你如果想看到就自己手工在下边用QString::toAscii().data() 来看吧。QString使用了一个Q_D()的模式隐藏了数据,所以你在调试里看不到
但是不对呀,我旁边的人的电脑就能看到具体的值的 QString::toAscii().data(),你用这个很不方便的,因为有时候qvector之类的,也需要看的,我的也是看不到具体值,别人的就可以
donwmufromdying 2014-09-18
  • 打赏
  • 举报
回复
这个是很经典的一个问题,只能告诉你看不到QString内容是正常的!你如果想看到就自己手工在下边用QString::toAscii().data() 来看吧。QString使用了一个Q_D()的模式隐藏了数据,所以你在调试里看不到
yingzijuntuan 2014-09-17
  • 打赏
  • 举报
回复
自己顶一下,求帮忙看看呀!

16,173

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧