• 5800阅读
  • 2回复

[提问]一个类如何访问另一个类中的控件? [复制链接]

上一主题 下一主题
离线darling0825
 

只看楼主 倒序阅读 楼主  发表于: 2011-06-25
一个类如何访问另一个类中的控件?

比如:
class A
{
Ui::A ui;    //ui中有很多个lineEdit
}

class B
{
在这里我想使用A中的lineEdit
}

我现在的做法是:

class classA
{
Ui::A  *ui;    //ui中有很多个lineEdit
}

class classB
{
classA  a;        //B中声明一个类A,利用这个a去调用A中的ui
}

classB::func()
{
QString str;
str = a.ui->lineEdit->Text(); //把A中linEdit中的内容赋给str
}
这样做确实可以成功,但str中得到的是 a中lineEdit的内容,而不是A中setupUi之后的那个对象中lineEdit的内容

谁可以告诉我怎么可以实现?
目前我一个个.ui文件,Qt设计师做的ui,是MainWindow,里面有好多个lineEdit。
另一个是我用代码写的对话框Dialog,我想把MainWondow中一些lineEdit的内容拿到这个对象框里使用。

离线jdwx

只看该作者 1楼 发表于: 2011-06-25
基本方法:在dialog里增加公有函数传递参数进去给类变量。
写个简单例子。
附件: test.rar (5 K) 下载次数:10
发帖时要说明:操作系统、Qt版本、编译器,这样能更快的得到回复。
离线jeffer1986
只看该作者 2楼 发表于: 2011-06-27
在类B的构造函数里把类A对象的指针传进去应该就可以了。
快速回复
限100 字节
 
上一个 下一个