找回密码
 立即注册
收起左侧

请教关于界面程序编写

2
回复
8894
查看
[复制链接]

尚未签到

来源: 2014-12-22 17:46:30 显示全部楼层 |阅读模式
2Qter豆

刚接触QT,
两个界面文件都是用qt designer 画的
一般要调用界面中的控件都是 定义类的私有成员 Ui::MAINWindow *ui;
然后调用该界面的控件的话,直接使用ui->控件对象就可以了
但是现在怎么在A界面的CPP文件中调用B界面中的控件
我是把B界面的定义的类对象作为A界面的一个私有成员,
class  A: .......
{
private:
B  *ui_b ;
.......
}

void class A:: function ()
{
  //  想调用B界面中的一个lineEdit控件
  ui_b->ui->lineEdit.................. ;

}
但是这样写会报错
请教一下,我在void class A:: function ()中该怎么写调用lineEdit控件        
麻烦大家解答一下,非常感谢

还有请教一下 ,关于串口的问题:
已经在A的类内定义了一个串口类对象wincom
并且开了一个线程监控串口wincom
现在要在B的CPP文件中B的某个函数内调用串口wincom的函数
需要怎么写?B的对象是A的一个成员,wincom也是A的一个成员                                                                                       














最佳答案

查看完整内容

qt的一个基础就是信号与槽,所以你要站在这个角度去写qt的程序,你上面提到的两个问题都属于类之间的通信问题,这个当然可以通过信号与槽来实现了,比如你想让B发生一个动作,那么你就可以再A里发出一个信号到B, 让B的槽函数去实现相应的动作就可以了, 这是一种方法,供你参考。 具体来说如第二个问题,你就可以再B的需要调用A的函数的位置 发出一个信号,然后将你想要调用的A的那个函数声明为槽函数, 然后绑定信号与槽就可以 ...
回复

使用道具 举报

累计签到:882 天
连续签到:3 天
2014-12-22 17:46:31 显示全部楼层
qt的一个基础就是信号与槽,所以你要站在这个角度去写qt的程序,你上面提到的两个问题都属于类之间的通信问题,这个当然可以通过信号与槽来实现了,比如你想让B发生一个动作,那么你就可以再A里发出一个信号到B, 让B的槽函数去实现相应的动作就可以了, 这是一种方法,供你参考。

具体来说如第二个问题,你就可以再B的需要调用A的函数的位置 发出一个信号,然后将你想要调用的A的那个函数声明为槽函数, 然后绑定信号与槽就可以了。。。
回复

使用道具 举报

累计签到:597 天
连续签到:1 天
2014-12-23 10:06:26 显示全部楼层
      一般一个界面写成一个类,类之间的关联用信号与槽的机制,从而达到A类控制B类的效果,
      不过使用过程中经常要注意的是,类之间双向连接时,避免循环;发发生A类B类相互引用,即两头文件互相包含时,要前向声明
回复

使用道具 举报

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

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