Window 与 Widget,QDialog的exec()函数

来源:互联网 发布:中国进出口总额数据 编辑:程序博客网 时间:2024/06/09 20:48

http://blog.csdn.net/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 的使用两例

0 0