#include class MyWidget : public QWidget { Q_OBJECT public: MyWidget(QWidget *parent = 0) : QWidget(parent) { QPushButton* closebutton = new QPushButton("Close"); closebutton->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding); QVBoxLayout* layout = new QVBoxLayout(this); layout->addWidget(closebutton); connect(closebutton, SIGNAL(clicked()),this, SLOT(close())); } }; #include "main.moc" int main(int argc, char **argv) { QApplication a(argc, argv); MyWidget w; w.showMaximized(); return a.exec(); }