我最近要做一个无边框的窗体所以调用了this->setWindowFlags(Qt::FramelessWindowHint);
然后要调用窗体中的一个widget的winId()这个函数,然后就出现问题了
1、如果在窗体MainWindow的构造函数中调用this->setWindowFlags(Qt::FramelessWindowHint);和widget->winId();然后show出来的界面就会卡死,里面的按钮什么的都无法点击。比如点击一个按钮然后按钮上的文字改变的事件。
2、如果先调用this->setWindowFlags(Qt::FramelessWindowHint);然后在窗体show之后调用widget->winId();这样开始正常,然后将窗体最小化再回复就会出现上面卡死的状况。
3、窗体卡死后点击一个按钮发现无反应(比如点击一个按钮然后按钮上的文字改变的事件。),然后最小化窗体再回复发现刚才点击的事件响应了,然后还是卡死。
我用的是Qt5.3.2
大家可以随便新建一个项目向里面拖拽一个widget,然后按照我上面的方法试试就知道了。我现在被这个搞得实在没办法了,我感觉这应该是Qt的一个bug,该怎么向Qt的开发团队提交这个bug呢。
------解决思路----------------------
https://bugreports.qt-project.org
注意:你需要提供你测试BUG所用的操作系统的版本。