我定义了两个QMainWindows(A和B),并且B是从A初始化的。换句话说,B是A的孩子。
我需要根据B中的用户输入来更新A的元素,那么方法是什么从子窗口更新父窗口中的元素,因为显然我们无法跨窗口更新元素。
一个简单的示例,例如根据 B 中的输入在 A 中设置标签会很棒。
提前致谢。
我定义了两个QMainWindows(A和B),并且B是从A初始化的。换句话说,B是A的孩子。
我需要根据B中的用户输入来更新A的元素,那么方法是什么从子窗口更新父窗口中的元素,因为显然我们无法跨窗口更新元素。
一个简单的示例,例如根据 B 中的输入在 A 中设置标签会很棒。
提前致谢。
使用信号和插槽来执行此操作,在您实例化任一 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();
}
然后,您可以使用信号和插槽来控制它们。要记住的重要一点是您应该为每个窗口编写一个新类,因此您的子窗口应该有自己的类。希望有帮助。