![](https://iknow-base.cdn.bcebos.com/lxb/notice.png)
Qt:子窗口中如何获取主窗体ui中的控件
在自定义的imageWidget中获取MainWindow的widget?如:pen.setWidth(spinbox->value());...
在自定义的imageWidget中获取MainWindow的widget?如:pen.setWidth(spinbox->value());
展开
2个回答
展开全部
不建议通过这种方式,这样会破坏类的封装性!建议在主窗口中定义接口函数,在接口函数中可以访问主窗口的任何控件。然后在子窗口中parentWidget()取得主窗口的指针,使用该指针调用主窗口的接口函数,从而访问主窗口的控件。
展开全部
通过类的访问或者继承均可。
// 类的访问
MainWidow *mainwidow = new MainWindow();
ImageWidget *imgWidget = new ImageWidget(mainwindow);
// 将mainwidow的成员ui直接设置成公有的或者提供访问函数
ImageWidget->label->setText(mainwindow->labelText());
// 继承就不用说了,可以直接访问
更多追问追答
追问
大哥,是在 imageWidget.cpp 里访问 mainwindow.cpp 的label,不在同一个 cpp 中。
追答
// 将MainWindow的访问api函数设置为静态全局函数,哪里都可以访问
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询