qt创建普通按钮时声明位置为什么会影响按钮展示?

在创建普通按钮对象(非对象指针)时:
QPushBotton btn;
如果此声明放在widget的构造函数内,运行时按钮没有显示。如果此声明放在头文件或者main函数内,就可以正常显示这个按钮。这是为什么呢?是因为局部变量吗?

局部变量会因为函数的结束而结束