Qt:子窗口中如何获取主窗体ui中的控件

在自定义的imageWidget中获取MainWindow的widget?如:pen.setWidth(spinbox->value());... 在自定义的imageWidget中获取MainWindow的widget?如:pen.setWidth(spinbox->value()); 展开
 我来答
我就是我呀5C
2018-08-28 · 超过13用户采纳过TA的回答
知道答主
回答量:53
采纳率:100%
帮助的人:16.6万
展开全部
不建议通过这种方式,这样会破坏类的封装性!建议在主窗口中定义接口函数,在接口函数中可以访问主窗口的任何控件。然后在子窗口中parentWidget()取得主窗口的指针,使用该指针调用主窗口的接口函数,从而访问主窗口的控件。
nigoole
2016-12-29 · TA获得超过1369个赞
知道小有建树答主
回答量:675
采纳率:71%
帮助的人:446万
展开全部

通过类的访问或者继承均可。

// 类的访问
MainWidow *mainwidow = new MainWindow();
ImageWidget *imgWidget = new ImageWidget(mainwindow);
// 将mainwidow的成员ui直接设置成公有的或者提供访问函数
ImageWidget->label->setText(mainwindow->labelText());

// 继承就不用说了,可以直接访问
更多追问追答
追问
大哥,是在 imageWidget.cpp 里访问 mainwindow.cpp 的label,不在同一个 cpp 中。
追答
// 将MainWindow的访问api函数设置为静态全局函数,哪里都可以访问
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式