У меня есть кнопка в моем первом окне Qt. Когда нажимается кнопка, текущее окно должно быть изменено на другое ui-файл. Прямо сейчас, когда я нажимаю кнопку, открывается новое окно, но старое окно все еще открыто. Есть ли способ заменить содержимое текущего окна на другой контент? или лучше просто открыть другое окно и уничтожить первое окно?Показать другой файл ui при нажатии кнопки
mainwindow.cpp
#include "mainwindow.h"
#include "ui_mainwindow.h"
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
}
MainWindow::~MainWindow()
{
delete ui;
}
void MainWindow::on_pushButton_clicked()
{
otherWindow = new OtherWindow();
otherWindow->show();
}
Это кажется немного утомительным. Одним из способов достижения чего-то подобного было бы размещение другого окна над первым. Все зависит от вашего рабочего процесса. Столкнувшись с аналогичной проблемой - но многие другие варианты, я выбрал тегированный диалог. – ExpatEgghead
Как насчет сложного виджета, в котором вы переключаетесь на дополнительные виджеты в стеке с помощью кнопки? – drescherjm
Кажется, что [QStackedWidget] (http://qt-project.org/doc/qt-5.0/qtwidgets/qstackedwidget.html) - это то, что вам нужно. – thuga