首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > QT开发 >

如何在QLineEdit下显示另外两个QLineEdit下的数之比的结果

2012-12-14 
怎么在QLineEdit上显示另外两个QLineEdit上的数之比的结果代码如下AliverateEditnew QLineEditdouble d

怎么在QLineEdit上显示另外两个QLineEdit上的数之比的结果
代码如下
AliverateEdit=new QLineEdit;
    double d=numEdit->text().toDouble()/BornAliveNumEdit->text().toDouble();
    qDebug()<<d;
    AliverateEdit->setText(QString::number(numEdit->text().toDouble()/BornAliveNumEdit->text().toDouble()));
    Aliverate=new QLabel(tr("成活率"));
    Aliverate->setBuddy(AliverateEdit);
可为什么d的输出结果却是nan呢?NOT A NUMBER?应该怎么改?
[最优解释]
我不知道你用的什么代码实现的:打开关闭对话框tableview里的一列就发生变化。是用的数据库还是自己写了信号槽的?

你可以将lineEdit的textChanged信号跟你想要实现的槽联系起来就可以了

[其他解释]
两个数分别是多少?除0了?
[其他解释]
多用两个double的变量,分别储存lineedit内的数值,用qdebug输出查看数值是否正确。
[其他解释]
为什么我下载要扣分什么意思呀
[其他解释]
d输出结果是nan我昨天才遇到的。
原因是没有支持中文编码。
在main.cpp中加上:
QTextCodec *codec = QTextCodec::codecForName("GB2312");   
QTextCodec::setCodecForLocale(codec);   
QTextCodec::setCodecForCStrings(codec);   
QTextCodec::setCodecForTr(codec);   

就可以了。
刚看了你的问题想重新浮现一下, 结果没有出现同样的问题。
你先试试这个,可能是其他问题
  


[其他解释]
能把你的全部相关代码发一下么,我想好好看看这个问题。
[其他解释]

引用:
能把你的全部相关代码发一下么,我想好好看看这个问题。

谢谢你 问题基本上已经解决了 可是我这个是以对话框输入结果到tableview的 现在的问题是改了以上两个DOUBLE变量 但是成活率那个变量在表格中没有改变 想成活率也改变 必须再次打开对话框然后关闭对话框 后tableview里的成活率那一列才改变 改怎么解决呢?
[其他解释]
引用:
我不知道你用的什么代码实现的:打开关闭对话框tableview里的一列就发生变化。是用的数据库还是自己写了信号槽的?

你可以将lineEdit的textChanged信号跟你想要实现的槽联系起来就可以了
谢谢

热点排行