Qt:子窗口中如何获取主窗体ui中的控件
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Qt:子窗口中如何获取主窗体ui中的控件相关的知识,希望对你有一定的参考价值。
在自定义的imageWidget中获取MainWindow的widget?如:pen.setWidth(spinbox->value());
不建议通过这种方式,这样会破坏类的封装性!建议在主窗口中定义接口函数,在接口函数中可以访问主窗口的任何控件。然后在子窗口中parentWidget()取得主窗口的指针,使用该指针调用主窗口的接口函数,从而访问主窗口的控件。 参考技术A通过类的访问或者继承均可。
// 类的访问MainWidow *mainwidow = new MainWindow();
ImageWidget *imgWidget = new ImageWidget(mainwindow);
// 将mainwidow的成员ui直接设置成公有的或者提供访问函数
ImageWidget->label->setText(mainwindow->labelText());
// 继承就不用说了,可以直接访问追问
大哥,是在 imageWidget.cpp 里访问 mainwindow.cpp 的label,不在同一个 cpp 中。
追答// 将MainWindow的访问api函数设置为静态全局函数,哪里都可以访问追问如何设置 ui 为静态全局
追答class MainWindowpublic:
static void testStatic()
ui->btn->setText("adfafa");
// 然后调用
MainWindow::testStatic();
以上是关于Qt:子窗口中如何获取主窗体ui中的控件的主要内容,如果未能解决你的问题,请参考以下文章