QDialog本身就是一个widget,不要再定义widget来承载该dialog的其他组建 只需定义一个mainlayout将其他组建加入该layout 最后用this->setLayout(mainlayout)即可