3

我无法在 qt 项目中打开新窗口/对话框主窗口。

开启功能:

    void MainWindow::on_btDodajProdukt_clicked()
{
    newDialog = new DodajProdukt(this);
    newDialog->show();

}

主窗口包括:

#include "dodajprodukt.h"

主窗口.h

    DodajProdukt *newDialog;

DodajProdukt 类是设计器中新增的窗口。

我收到此错误:

mainwindow.obj:-1: błąd:LNK2019: 在函数“private: void __thiscall MainWindow::on_btDodajProdukt_clicked(void)" (?on_btDodajProdukt_clicked@MainWindow@@AAEXXZ)

编辑:

dodajprodukt.cpp

    #include "dodajprodukt.h"
#include "ui_dodajprodukt.h"


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

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

轮廓:

    QT       += core gui

greaterThan(QT_MAJOR_VERSION, 4): QT += widgets

TARGET = Hurtownia
TEMPLATE = app


SOURCES += main.cpp\
        mainwindow.cpp \
    dodajprodukt.cpp \
    listaproduktow.cpp

HEADERS  += mainwindow.h \
    dodajprodukt.h \
    listaproduktow.h

FORMS    += mainwindow.ui \
    dodajprodukt.ui \
    listaproduktow.ui
4

4 回答 4

3

右键单击项目,然后:清理,运行 qmake 并重建为我修复它

于 2013-08-01T09:14:05.187 回答
1

您必须将与 DodajProdukt 相关的所有文件添加到您的 .pro 文件中(如果使用 qmake):

对于在设计器中创建的 .ui 文件:

FORMS += dodajprodukt.ui # assuming that's how it's called

而且您显然也有 .h/.cpp 文件:

HEADERS += dodajprodukt.h
SOURCES += dodajprodukt.cpp
于 2013-01-07T18:17:16.177 回答
1

我有同样的错误。创建一个新项目并复制代码。然后创建一个简单的示例代码来检查此方法是否有效。

于 2013-01-07T18:50:44.923 回答
0

我也有同样的问题。

我在删除 .pro.user 文件并删除项目构建文件夹后修复它

于 2013-01-11T16:10:17.910 回答