0

'pushButton_2'を押した後、メインウィンドウのレイヤーにウィジェット'widg'を表示しようとしていますが、次のエラーが表示されます: "expected primary-expression before')' token"

mainwindow.cpp

#include "mainwindow.h"
#include "ui_mainwindow.h"
#include "widg.h"
#include "ui_widg.h"

MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);

    QObject::connect(ui->pushButton_2, SIGNAL(clicked()), SLOT(slotPush2()));
}

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

void MainWindow::slotPush2()
{
    ui->verticalLayout_3->addWidget(widg);
}

mainwindow.h

#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>

namespace Ui {
class MainWindow;
}

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    explicit MainWindow(QWidget *parent = 0);
    ~MainWindow();

private:
    Ui::MainWindow *ui;

private slots:
    void slotPush2();
};


#endif // MAINWINDOW_H

widg.h

#ifndef WIDG_H
#define WIDG_H

#include <QWidget>

namespace Ui {
class widg;
}

class widg : public QWidget
{
    Q_OBJECT

public:
    explicit widg(QWidget *parent = 0);
    ~widg();

private:
    Ui::widg *ui;
};

#endif // WIDG_H

widg.cpp

#include "widg.h"
#include "ui_widg.h"

widg::widg(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::widg)
{
    ui->setupUi(this);
}

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

助けてください、私の間違いは何ですか?

4

1 に答える 1

1

あなたの意図が何であるかを正確に理解することは難しいですが、おそらくあなたはこれを意味しました:

void MainWindow::slotPush2()
{
    ui->verticalLayout_3->addWidget(new widg(this));
}
于 2012-10-06T00:05:13.310 に答える