我定义了两个QMainWindows(A和B),B从A初始化。换句话说,B是A的子项。
我需要根据B中的用户输入更新A的元素,那么从子窗口更新父窗口中元素的方法是什么,因为显然我们无法跨窗口更新元素。
一个简单的例子,例如根据B中的输入在A中设置标签会很棒。
提前致谢。
答案 0 :(得分:-1)
使用信号和插槽执行此操作,在实例化任一QMainWindows之前连接它们。
通常我会从我的主类中初始化所有窗口,这样我就可以设置信号和插槽。
// -----更多信息在这里---- //
当你创建一个新的QWindow项目时,你得到一个mainwindow.cpp类,你需要做的是创建一个看起来相同的childWindow.cpp类,然后你的main函数如下所示:
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
MainWindow w;
ChildWindow child;
connect(&w, SIGNAL(labelChanged),
&child, SLOT(updateLabelChange));
w.show();
return a.exec();
}
然后,您可以使用信号和插槽来控制它们。要记住的重要一点是,您应该为每个窗口编写一个新类,因此您的子窗口应该有自己的类。希望有所帮助。