找回密码
 立即注册
收起左侧

QPushButton的子类setParent 无效

4
回复
3448
查看
[复制链接]

尚未签到

来源: 2019-11-19 16:28:32 显示全部楼层 |阅读模式
1Qter豆
我自己封装了一个QPushButton的子类。使用的时候,界面接收到服务器数据时,动态增加button,我想把这个button放到一个label上。但是使用setParent无效。这个button依然是独立的窗口,求大神回答。如果在程序启动时,生成固定的button是可以setParent成功的。

最佳答案

查看完整内容

可视化部件的父类好像只能在 Container 里面, QLabel 是标签,不能这样用吧 ~
回复

使用道具 举报

累计签到:742 天
连续签到:1 天
2019-11-19 16:28:33 显示全部楼层
可视化部件的父类好像只能在 Container 里面, QLabel 是标签,不能这样用吧 ~
回复

使用道具 举报

尚未签到

2019-11-19 18:24:44 显示全部楼层
    CMeetingNamebtn *btn = new CMeetingNamebtn("test",                                                400,50);     btn->setParent(m_labelClassList);     btn->setCheckable(true);     btn->move(0,60+50*3);     这段代码setParent放在界面的构造函数可以成功,在回调函数就不行了
回复

使用道具 举报

尚未签到

2019-11-21 09:23:11 显示全部楼层
Since 发表于 2019-11-21 09:13
可视化部件的父类好像只能在 Container 里面, QLabel 是标签,不能这样用吧 ~

QLabel是QWidget的子类,正常是可以这样设置为父类的。我猜想是在回调函数里这样设置会有问题
回复

使用道具 举报

尚未签到

2019-12-27 16:02:45 显示全部楼层
已找到原因。是回调函数没有在UI线程执行导致的,在回调函数通过发射信号,在槽函数处理结果即可
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

公告
可以关注我们的微信公众号yafeilinux_friends获取最新动态,或者加入QQ会员群进行交流:190741849、186601429(已满) 我知道了