为什么 Visual Studio 打不开我的 wxWidgets gui 的窗口(框架)?

问题描述 投票:0回答:1

我开始了一个使用 wxWidgets 的项目。有2个类和2个cpp文件。 第一班:

#pragma once
#include <wx/wx.h>

class MainFrame:public wxFrame
{
public:
    MainFrame(const wxString& title);
};

二年级:

#pragma once
#include <wx/wx.h>

class App:public wxApp
{
public:
    bool onInit();
};

第一个cpp文件:

#include <wx/wx.h>
#include "MainFrame.h"

using namespace std;

MainFrame::MainFrame(const wxString& title) :wxFrame(nullptr, wxID_ANY, title) {

}

第二个cpp文件

#include "App.h"
#include <wx/wx.h>
#include "MainFrame.h"

wxIMPLEMENT_APP(App);

bool App::onInit() {
    MainFrame* mainFrame = new MainFrame("main");
    mainFrame->Show();
    return true;
}

开始调试 Visual Studio 后,写下运行我的项目的 exe 文件,没有任何错误或警告,但不打开任何内容。所以我只有一个问题,为什么?

我重新打开教程并比较了代码。它们是相同的。我尝试重新打开 Visual Studio,但没有得到任何更改

c++ visual-studio user-interface wxwidgets
1个回答
0
投票

函数的名称必须是

OnInit()
,开头要大写
O
,因为这是它要覆盖的虚函数的名称。您的代码示例开头有一个小写的
o

如果使用

override
关键字声明函数,这正是一种不会被忽视的错误,即

bool onInit() override;

这样编译器会发出关于

onInit()
不覆盖任何内容的错误。

© www.soinside.com 2019 - 2024. All rights reserved.