SABROG, делаю так:
Код | Ui::MainForm *mainFormWgt = new Ui::MainForm(this); Ui::GameMenuForm *gameMenuFormWgt = new Ui::GameMenuForm(this);
stackedLayout->addWidget(mainFormWgt); stackedLayout->addWidget(gameMenuFormWgt);
|
такие ошибки:
Код | E:/QTProjects/CourseWork__2/main_window.cpp:21: error: no matching function for call to `Ui_MainForm::Ui_MainForm(MainWindow* const)'
E:/QTProjects/CourseWork__2/main_window.cpp:22: error: no matching function for call to `Ui_GameMenuForm::Ui_GameMenuForm(MainWindow* const)'
E:/QTProjects/CourseWork__2/main_window.cpp:24: error: no matching function for call to `QStackedLayout::addWidget(Ui_MainForm*&)'
E:/QTProjects/CourseWork__2/main_window.cpp:25: error: no matching function for call to `QStackedLayout::addWidget(Ui_GameMenuForm*&)'
|
На всякий случай выложу .h и .cpp файлы. main_window.h
Код | #ifndef MAIN_WINDOW_H #define MAIN_WINDOW_H
#include <QDialog> #include <QStackedLayout> #include "ui_Main_form.h" #include "ui_GameMenu_form.h"
class MainWindow : public QWidget, public Ui::MainForm, public Ui::GameMenuForm { Q_OBJECT public: MainWindow(QWidget *pwgt = 0);
private slots: void ClickedGame(); void ClickedOptions(); void ClickedSinglePlayer(); void ClickedOnline(); void ClickedMainMenu();
private: QStackedLayout* stackedLayout;
}; #endif // MAIN_WINDOW_H
|
main_window.cpp
Код |
#include <QtGui>
#include "main_window.h" MainWindow::MainWindow(QWidget *pwgt) : QWidget(pwgt) { Ui_MainForm::setupUi(this); Ui_GameMenuForm::setupUi(this); connect(game_button, SIGNAL(clicked()), this, SLOT(ClickedGame())); connect(options_button, SIGNAL(clicked()), this, SLOT(ClickedOptions())); connect(quit_button, SIGNAL(clicked()), this, SLOT(reject())); connect(single_player_button, SIGNAL(clicked()), this, SLOT(ClickedSinglePlayer())); connect(online_button, SIGNAL(clicked()), this, SLOT(ClickedOnline())); connect(main_menu_button, SIGNAL(clicked()), this, SLOT(ClickedMainMenu()));
stackedLayout = new QStackedLayout(this);
Ui::MainForm *mainFormWgt = new Ui::MainForm(this); Ui::GameMenuForm *gameMenuFormWgt = new Ui::GameMenuForm(this); stackedLayout->addWidget(mainFormWgt); stackedLayout->addWidget(gameMenuFormWgt); stackedLayout->setCurrentIndex(0); }
void MainWindow::ClickedGame() { stackedLayout->setCurrentIndex(1);
}
void MainWindow::ClickedOptions() {
}
void MainWindow::ClickedSinglePlayer() {
}
void MainWindow::ClickedOnline() {
}
void MainWindow::ClickedMainMenu() {
}
|
|