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

Qt参数传递出现了有关问题,求解答

2012-09-14 
Qt参数传递出现了问题,求解答![codeC/C++][/code]////////////////////////////////////////////////////

Qt参数传递出现了问题,求解答!
[code=C/C++][/code]
////////////////////////////////////////////////////////////////////////
QString TradeFig :: on_inlineEdit_textEdited()
{
  QString string;
  string = tradefig->inlineEdit->text();
  return string;
}

////////////////////////////////////////////////////////////////////////
void CheckFig::on_putlineEdit_textEdited()
{
  QString string;
  TradeFig *tradefig = new TradeFig;
  string = tradefig->on_inlineEdit_textEdited();
  checkfig->putlineEdit->setText(string);
}

我要弄得是将string的数值传递给on_putlineEdit_textEdited()函数使用,string的值是从用户输入获取,也就是控件lineEdit中获取。语句为:tradefig->inlineEdit->text()。但是运行的结果没能和我想象的一样,也就是on_putlineEdit_textEdited()函数中的string没有能获得string = tradefig->inlineEdit->text();的值。弄了很久不知道为什么!想请各位高手帮忙解答下,解答过程详细点!谢谢了

[解决办法]
槽函数应该是这样的吧,
void myDlg::on_xxxEdit_textEdited(const QString &arg1)
{

}

你的QString TradeFig :: on_inlineEdit_textEdited()是怎么加的?

你可以把字符串的值赋给TradeFig的成员变量,在TradeFig里定义一个共有方法返回字符串的值
[解决办法]
楼主的槽函数有些问题,定义的槽函数不是这样的,如果是你自己写的话,那就是没有触发
所以解决办法就是,如果你是调用的系统的,那就完全按照系统的来写

如果是你自己定义的,看情况应该是你没有connect

我觉得应该是你照着系统写的,结果写错了
[解决办法]
你的控件是QLineEdit吗?QLineEdit有一个textChange的信号,这个信号是带QString参数的,槽也要写成带参数的。可以去看看文档
[解决办法]

探讨

引用:

其实简化了看,你所有这些操作,都可以在点击ok的时候执行,假设点击ok按钮的时候触发的槽函数是slot
首先我不清楚你的checkfig 之前要不要弹出来,如果只是点击ok弹出来的话,你可以将checkfig的构造函数设一个QString的参数类型,然后在slot函数中new,直接将得到的字符串传进去在show,就像下面这样
C/C++ code
void ……

热点排行