当我使用 g++ 在 Windows 上编译 Wxwidgets 应用程序时,它的 GUI 看起来很旧。经过一番研究,我发现这就是所谓的视觉风格。我知道我可以使用 rc(清单文件)来禁用视觉样式。但我不知道该怎么做。在询问如何在 Chat-gpt 上修复该问题后,它指出我需要将这个“-DwxNO_WINDOWS_SETUP”添加到 g++ 中。没用。
任何人都可以向我展示如何在下面的代码中使用 rc(清单文件)禁用视觉样式。
再次询问如何禁用视觉主题后,听到 Chat-gpt 给我的代码。这也不起作用。
#include <wx/wx.h>
#include <wx/sysopt.h>
class MyApp : public wxApp
{
public:
virtual bool OnInit();
};
class MyFrame : public wxFrame
{
public:
MyFrame(const wxString& title);
};
wxIMPLEMENT_APP(MyApp);
bool MyApp::OnInit()
{
// Disable default theme for wxWidgets windows
wxSystemOptions::SetOption("msw.disable.wxwindow.default.theme", 1);
// Create the main application window
MyFrame* frame = new MyFrame("Hello World");
frame->Show(true);
return true;
}
MyFrame::MyFrame(const wxString& title)
: wxFrame(NULL, wxID_ANY, title)
{
// Your frame setup code here
}
这是我用来编译 Wxwidgets 应用程序的命令行。
g++ include/src/*.cpp *.cpp -pipe -I C:\wxWidgets\include -I C:\wxWidgets\lib\gcc810_x64_dll\mswu -L C:\wxWidgets\lib\gcc810_x64_dll -mwindows -lwxbase32u -lwxmsw32u_core -g -o build/debug/a.exe
你需要使用正确的清单,如果你使用wx提供的资源文件,它会自动包含在内,所以你的问题可能是你不这样做。
请停止使用 ChatGPT 的废话(从这个词的直接意义上来说,你写的任何内容都没有任何意义)。