Как добавлять и удалять новые виджетыC++

Программы на C++. Форум разработчиков
Anonymous
 Как добавлять и удалять новые виджеты

Сообщение Anonymous »

У меня есть простой проект Qt6, созданный в Qt Creator. Это окно всего с одной кнопкой. Я хочу, чтобы эта кнопка исчезла и при нажатии кнопки появился текст (в QLabel).

Код: Выделить всё

#include "mainwindow.h"
#include "./ui_mainwindow.h"

MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
, ui(new Ui::MainWindow)
{
ui->setupUi(this);
QObject::connect(ui->pushButton, &QPushButton::pressed, this, &MainWindow::generate);
}

void MainWindow::generate() {
delete ui->pushButton;
QLabel* a = new QLabel("Text", ui->centralwidget);
}

MainWindow::~MainWindow()
{
delete ui;
}

Когда я нажимаю кнопку, она исчезает, но текст не появляется.
Когда я перемещаюсь:

Код: Выделить всё

QLabel* a = new QLabel("Text", ui->centralwidget);
в конструктор, после строки ui->setupUi(this); появляется текст.
Почему этого не происходит появляются после нажатия кнопки? Как это исправить?

Подробнее здесь: https://stackoverflow.com/questions/777 ... ew-widgets

Вернуться в «C++»