Не вижу настроенного QLayout вместе с кнопкой QPushButton
#include "mainwindow.h"
#include <QApplication>
#include <QLabel>
#include <QPushButton>
#include <QVBoxLayout>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
MainWindow w;
QLabel *label = new QLabel("<center>Привет, мир!</center>");
QPushButton *btnQuit = new QPushButton("&Закрыть окно");
QVBoxLayout *vbox = new QVBoxLayout();
vbox->addWidget(label);
vbox->addWidget(btnQuit);
w.setLayout(vbox);
QObject::connect(btnQuit, SIGNAL(clicked()),
&a, SLOT(quit()));
w.show();
return a.exec();
}
Ответы (1 шт):
Автор решения: Александр Козлов
→ Ссылка
#include <QApplication>
#include <QLabel>
#include <QPushButton>
#include <QVBoxLayout>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QWidget w;
w.resize(600, 600);
QLabel *label = new QLabel("<center>Привет, мир!</center>");
QPushButton *btnQuit = new QPushButton("&Закрыть окно");
QVBoxLayout *vbox = new QVBoxLayout();
vbox->addWidget(label);
vbox->addWidget(btnQuit);
w.setLayout(vbox);
QObject::connect(btnQuit, SIGNAL(clicked()),
&a, SLOT(quit()));
w.show();
return a.exec();
}
Сделай на QWidget сразу, отнаследуй класс MainWindow от QWidget - это более популярный стиль в Qt.
#include <QApplication>
#include <QMainWindow>
#include <QLabel>
#include <QPushButton>
#include <QVBoxLayout>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QMainWindow window;
QWidget widget;
window.setCentralWidget(&widget);
QLabel *label = new QLabel("<center>Привет, мир!</center>");
QPushButton *btnQuit = new QPushButton("&Закрыть окно");
QVBoxLayout *vbox = new QVBoxLayout(&widget);
vbox->addWidget(label);
vbox->addWidget(btnQuit);
window.setLayout(vbox);
QObject::connect(btnQuit, SIGNAL(clicked()),
&a, SLOT(quit()));
window.show();
return a.exec();
}
Решение через QMainWindow.
