我需要一个QWindow来捕获对象A中的screenChanged信号。
我有QWidget B有Qt :: Window标志。
B是A.的父母
在创建了A类的对象之后,我试图像这样调用connect:
bool isOk = connect(b->window()->windowHandle(), SIGNAL(screenChanged(...)), a, SLOT(...)));
assert(isOk);
我收到的错误告诉:
QObject :: connect:无法连接(null):: screenChanged(QScreen *)到CFloatingEdit :: onScreenChanged()
为什么b-> window() - > windowHandle()为零?
我想用screenChanged做正确的方法吗?
答案 0 :(得分:2)
将评论合并到答案:
吊杆: 看看Ming-Ming Cheng在这个问题中给出的windowForWidget函数的实现。
arturx64: 如果您的窗口小部件不是本机的,则将返回nullptr。您确定使用适当的小部件吗? 顺便说一句,您可以在小部件上设置Qt :: WA_NativeWindow属性以使其成为原生。