Qt打开第二窗口

Qt open second window

本文关键字:窗口 Qt      更新时间:2023-10-16

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

开放功能:

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

主窗口包括:

#include "dodajprodukt.h"

MainWindow.h

    DodajProdukt *newDialog;

类dodajproduckt是在设计器中添加的新窗口。

我得到这个错误:

主窗口。obj:-1: błąd:LNK2019:未解析的外部符号"public: __thiscall dodajproduckt:: dodajproduckt(类QWidget *)"(??0DodajProdukt@@QAE@PAVQWidget@@@Z)在函数"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

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

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

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

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

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

显然你也有。h/.cpp文件:

HEADERS += dodajprodukt.h
SOURCES += dodajprodukt.cpp

我有同样的问题。

和我修复后删除。pro。用户文件和删除项目构建文件夹