http://blog.youkuaiyun.com/dbzhang800/article/details/6737540
Qt中的部件有Window和普通widget之说:
Window | 窗口 | Window是这样的Widget:它不是其他Widget的一部分区域,通常有标题栏等窗口装饰器!(和是否有parent无关) |
Widget | 普通部件(非窗口) | 除Window外的部件 |
如何可以知道一个widget是否是Window?注意:QWidget::isWindow()
inline bool QWidget::isWindow() const { return (windowType() & Qt::Window); }
一个Widget是不是一个Window,只取决于它的的WindowFlags中是否包含Qt::Window。
QDialog为什么用show()看不到窗口,而用exec()才可以?
因为exec()是个死循环,使得你始终在这个函数内不退出,dlg不被销毁。关于它的分析,详见QEventLoop 的使用两例。