找回密码
 立即注册
收起左侧
楼主: yafeilinux

第2篇 基础(二)编写Qt多窗口程序

257
回复
293231
查看
  [复制链接]
累计签到:1568 天
连续签到:1 天
2016-4-13 11:12:55 显示全部楼层
zhuqi7 发表于 2016-4-12 15:15
D:\QT Program\nWindows\main.cpp:8: error: C2039: “setcodecForTr”: 不是“QTextCodec”的成员 ...

你用Qt 5吗?
回复 支持 反对

使用道具 举报

累计签到:3 天
连续签到:1 天
2016-4-13 11:28:50 显示全部楼层
yafeilinux 发表于 2016-4-13 11:12
你用Qt 5吗?

是的。。 好像QT5已经没有setcodecForTr了
回复 支持 反对

使用道具 举报

累计签到:34 天
连续签到:1 天
2016-4-22 00:19:52 显示全部楼层
有一点不明白,,,再main函数中。。。。用类定义了两个对象。。就是MainWindow w;

    LoginDlg dlg;为什么。。又没有写dlg->show();。结果显示的是dlg 而不是w,,这是为什么呢????
回复 支持 反对

使用道具 举报

累计签到:5 天
连续签到:1 天
2016-4-22 19:43:32 显示全部楼层
用第一种方法能做到  第二种方法那种模式不
回复 支持 反对

使用道具 举报

累计签到:2 天
连续签到:1 天
2016-4-30 08:56:11 显示全部楼层
chie4 发表于 2015-11-18 17:58
老师您好我用的qt5.51,LoginDlg dlg;这句一直编译不过是为什么,这句删了就能运行了,错误信息如下
main.o ...

youthdou 发表于 2013-10-10 17:59
http://qt-project.org/forums/viewthread/23200 这里边有解决方法。。。比较狗血。。。。 ...

确实狗血,右键项目,执行Qmake就行了,那个人也不知道为什么。
=======
我试了,管用
回复 支持 反对

使用道具 举报

尚未签到

2016-5-3 16:34:07 显示全部楼层
楼主想的真是太细了。4.85的乱码都给提供出来了,多谢多谢
回复 支持 反对

使用道具 举报

累计签到:8 天
连续签到:1 天
2016-6-17 22:16:04 显示全部楼层
解释一下,也方便自己查找。
楼主说的最后一段“当然,严谨的童鞋也可以在mainwindow.h文件中先定义一个对话框对象,并再在构造函数中进行创建,然后再到这里使用。”
这指的是:在mainwindow.h的mainwindow类中加入一个对话框对象成员 QDialog *dlg(私有公有无所谓),注意,mainwindow.h中需要加#include <QDialog>了。
然后再构造函数中构造这个对话框对象成员,即在mainwindow.cpp中的构造函数加一句dlg= new QDialog(this);就可以了。
回复 支持 反对

使用道具 举报

累计签到:8 天
连续签到:1 天
2016-6-17 22:18:56 显示全部楼层
学到这一节,对话框暂时还无法添加文字,看来对话框是不同于普通的窗口的。
点击按钮弹出新窗口,则旧窗口自动关闭;
但是如果点击按钮弹出对话框,则旧窗口不会关闭;
回复 支持 反对

使用道具 举报

累计签到:16 天
连续签到:1 天
2016-6-23 22:12:42 显示全部楼层
楼主,感觉跟着书打了一遍,还是啥也不会,怎么办呢
回复 支持 反对

使用道具 举报

累计签到:12 天
连续签到:1 天
2016-6-24 09:23:23 显示全部楼层
非常感谢楼主,学习了!
回复 支持 反对

使用道具 举报

累计签到:1 天
连续签到:1 天
2016-7-7 21:20:37 显示全部楼层
本帖最后由 一抹淡季 于 2016-7-7 21:26 编辑

小白一枚,照着写的,但是编译通不过,求指导。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 支持 反对

使用道具 举报

累计签到:1 天
连续签到:1 天
2016-7-7 21:36:58 显示全部楼层
也不知道啥原因,翻了好几页论文内容找到答案了。
右键选择执行qmake 就可以了。
哪位大神如果知道原因,请告诉我一声,谢谢
回复 支持 反对

使用道具 举报

累计签到:29 天
连续签到:1 天
2016-7-13 17:26:46 显示全部楼层
看了一遍书,还是不会编
回复 支持 反对

使用道具 举报

累计签到:29 天
连续签到:1 天
2016-7-14 14:14:53 显示全部楼层
每个例子都值得认真的研究
回复 支持 反对

使用道具 举报

累计签到:1962 天
连续签到:10 天
2016-7-20 23:01:06 显示全部楼层
Cooker 发表于 2014-10-25 22:36
D:\Qt\Qt_Job\nWindows\mainwindow.cpp:9: error: C2001: 常量中有换行符
D:\Qt\Qt_Job\nWindows\mainwindo ...

遇到了同样的问题,开始以为是代码中误引入了中文字符的原因,经过多次比对和测试,终究是编码的问题,没能找到彻底如愿的方法,http://blog.csdn.net/xpwang168/article/details/8706810,这个博客中的方案倒是个不错的方案!

点评

qt 5中有这么一句运行报错QTextCodec::setCodecForCStrings(QTextCodec::codecForLocale());, D:\Qt example\manager\main.cpp:15: error: 'setCodecForCStrings' is not a member of 'QTextCodec' QTextCodec  详情 回复 发表于 2016-9-27 17:27
回复 支持 反对

使用道具 举报

累计签到:883 天
连续签到:1 天
2016-7-21 08:36:03 显示全部楼层
来学习了,谢谢好的资料。
回复 支持 反对

使用道具 举报

累计签到:18 天
连续签到:1 天
2016-8-3 11:09:38 显示全部楼层
楼主 这些代码在vs2013环境下适用吗?

点评

可以!  发表于 2016-8-10 12:02
回复 支持 反对

使用道具 举报

累计签到:2 天
连续签到:1 天
2016-8-9 16:52:51 显示全部楼层
谢谢你们这些大神分享,谢谢你们
回复 支持 反对

使用道具 举报

累计签到:7 天
连续签到:1 天
2016-8-11 10:50:26 显示全部楼层
将QTextCodec::setCodecForTr(QTextCodec::codecForName("GB2312"));
改为QTextCodec::setCodecForLocale(QTextCodec::codecForName("GB2312"));
就好用了。
好像是中文问题。

点评

环境Qt 5.5, 如下两句运行时报错 QTextCodec::setCodecForTr(QTextCodec::codecForLocale()); QTextCodec::setCodecForLocale(QTextCodec::codecForLocale()); 报错 D:\Qt example\manager\main.cpp:10: error  详情 回复 发表于 2016-9-27 17:36
回复 支持 反对

使用道具 举报

累计签到:1568 天
连续签到:1 天
2016-8-15 15:37:58 显示全部楼层
huihuiyu 发表于 2016-7-13 17:26
看了一遍书,还是不会编

要编写什么呢?建议看看综合点的例子。看一遍书,是要了解到底有什么东东自己可以用,具体编写程序时怎么用,用什么,是需要自己长期编写代码来领悟的。学习所有的东西道理都一样。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

公告
可以关注我们的微信公众号yafeilinux_friends获取最新动态,或者加入QQ会员群进行交流:190741849、186601429(已满) 我知道了