積み重ねられたウィジェットに 2 つのカスタム ウィジェットがあり、ボタンを押して一方から他方に変更できるようにしたいのですが、現在クリックするとプログラムが終了します。
最初のカスタム ウィジェット .cpp は次のとおりです。
#include "loginpage.h"
#include "ui_loginpage.h"
#include "mainwindow.h"
#include "mainpage.h"
#include "QtGui"
LoginPage::LoginPage(QWidget *parent) :
QWidget(parent),
ui(new Ui::LoginPage)
{
ui->setupUi(this);
connect(ui->loginPushButton, SIGNAL(clicked()), this, SLOT(doLogin()));
}
LoginPage::~LoginPage()
{
delete ui;
}
QString LoginPage::getUsername()
{
QString userName = ui->usernameLineEdit->text();
return userName;
}
QString LoginPage::getPassword()
{
QString passWord = ui->passwordLineEdit->text();
return passWord;
}
void LoginPage::doLogin()
{
QString username = getUsername();
QString password = getPassword();
bool check = checkCredentials(password, username);
if(check == true)
{
MainWindow *main;
main = new MainWindow;
main->test();
}else
{
QMessageBox::information(this, tr("incorrect"), tr("incorrect"));
}
}
...
メイン ウィンドウの .cpp は次のとおりです。
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include "loginpage.h"
#include "ui_loginpage.h"
#include "mainpage.h"
#include <QtGui>
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
}
MainWindow::~MainWindow()
{
delete ui;
}
void MainWindow::test()
{
ui->stackedWidget->setCurrentIndex(1);
}
どんな助けでも大歓迎