最近一直在解决一个问题:Qt控件的显示与隐藏
下述内容全部是在Qt5.6上实现
以QDialog上的QFrame控件类型为例
QFrame frame;
1.Qt判断控件是否显示使用的函数是isVisible
(1)加入frame.isVisible返回的是false,先查看该对话框是否已经显示,比如该函数是否是在对话框调用exec前判断的。
(2)若是在对话框显示前判断必然返回false。
(3)当控件显示出来时,QT会发生事件showEvent(QShowEvent* event)
2.Windows判断控件是否显示使用的函数是IsWindowVisible(HWND hWnd)
(1)这里的hWnd指的是窗口句柄,Qt控件通过winId获取(获取后需要类型转换哟)