Qt中两个窗口相互操作

Qt中两个窗口相互操作,举一个栗子就是两个窗口相互关闭(窗口1中的pushbutton关闭窗口2;窗口2中的pushbutton关闭窗口1;)

Qt中的窗口都是一个一个的类,所以最开始就想到了使用类的操作方法,即使用指针(否则两个类无限调用),如下图:

Qt中两个窗口相互操作_第1张图片

但是,这种方法只能用于同一个函数下,也就是都得在main()下面。不巧的是Qt中的类并非全局的类,使用extern也不能申请(编译不会报错,但是使用时出错);而类的申请也不一定就都在main()下面。

因此只能使用connect连接,而我发现图形界面里的信号和槽并不能连接不同窗口,如下图:

Qt中两个窗口相互操作_第2张图片


解决办法:


所以唯一的办法就只能使用connect在代码里面:(注意,当一个类里面创建了另一个类的对象时,只能在前者中connect)

Qt中两个窗口相互操作_第3张图片

你可能感兴趣的:(Qt中两个窗口相互操作)