• 9225阅读
  • 16回复

[提问]很简单的QLineEdit的问题,小白的我不会了~~~~~~ [复制链接]

上一主题 下一主题
离线coding_ali
 

只看楼主 倒序阅读 楼主  发表于: 2011-06-24
我的目的:获取用户在QLineEdit输入的数字(注意是数字)以用来处理和显示

我的问题:获取字符串倒是没有问题,我用QString s =mylineEdit->text(); 可以获得;
                    但是获取数字就有问题了,我试图用int  frequence = s.toInt(); 把字符串强制转换为
                    int型,但是运行时报错………………


请问这个问题怎么解决捏…………我小白啦………………
离线coding_ali

只看该作者 1楼 发表于: 2011-06-24
自挽…………
离线long2015

只看该作者 2楼 发表于: 2011-06-24
用QVariant试试
离线diyuanbo

只看该作者 3楼 发表于: 2011-06-24
一般可用QLineEdit的setInputMask设置输入mask (掩码)
或/和用QLineEdit的setValidator来设置一个QIntValidator作为QLineEdit的整数有效性检查器
用这2种方法来保证内容是数字.
然后text()->toInt()
离线coding_ali

只看该作者 4楼 发表于: 2011-06-25
回 3楼(diyuanbo) 的帖子
发现问题了……
是这样的,没加QString之前是好的……加上后运行时报错……这是为什么呢……





离线coding_ali

只看该作者 5楼 发表于: 2011-06-25
回 3楼(diyuanbo) 的帖子
嗯,我试试你的方法…………虽然不是很懂

离线diyuanbo

只看该作者 6楼 发表于: 2011-06-25
看看cpp文件
离线diyuanbo

只看该作者 7楼 发表于: 2011-06-25
我说的方法,可能不能从根本上解决你的问题.
离线coding_ali

只看该作者 8楼 发表于: 2011-06-25
回 6楼(diyuanbo) 的帖子
看来是QString的问题,以前是我把类申明放和定义放在main。cpp里面,
这样获得QQlineEdit里面字符串没问题。现在我把类声明,实现,main函
数放到三个文件里,在类申明里面用QString s;不可以,用QString *s;就可
以,但在类的实现文件里用就不行*s = w ->text();,运行时出错,没有道理
啊!!!!

啊啊啊啊啊~~~
离线diyuanbo

只看该作者 9楼 发表于: 2011-06-25
回 8楼(coding_ali) 的帖子
我初步感觉你得到的结论不正确.
没有看到你代码,下不了判断
离线coding_ali

只看该作者 10楼 发表于: 2011-06-25
回 9楼(diyuanbo) 的帖子
离线diyuanbo

只看该作者 11楼 发表于: 2011-06-25
感觉是QString出了问题,但原因可能是你没整明白 声明 实现 main.cpp的内在关系
离线alexltr

只看该作者 12楼 发表于: 2011-06-25
已在.h中声明了Qstring s;
那在.cpp中就不要Qstring啦,直接s=...就可以了。
我不从事IT,只是喜欢Qt。
我不是程序员,只是与程序有缘。
我写程序,只是为了让工作变得简单有序!

                      ----  一个一直在入门的编程学习者
离线ppdayz

只看该作者 13楼 发表于: 2011-06-25
楼上正解,你在cpp中再次声明Qstring s,头文件中的那个Qstring s就变成无效的声明了
离线coding_ali

只看该作者 14楼 发表于: 2011-06-25
回 12楼(alexltr) 的帖子
我没有再用啊……
离线coding_ali

只看该作者 15楼 发表于: 2011-06-25
回 13楼(ppdayz) 的帖子
真心没用…………
离线coding_ali

只看该作者 16楼 发表于: 2011-06-25
哎……又好像不是QString的问题啦…………再开一帖吧……
快速回复
限100 字节
 
上一个 下一个