如何在 wxWidgets 中设置文本大小?
How can i set text size in wxWidgets?
Compiled application
我想把 Hello World 文本变大,但我不知道怎么做
我尝试使用 staticText1->SetSize(32)
、staticText1->SetSize(wxSize(32,32))
并将 wxDefaultSize
替换为 wxSize(32, 32)
,但没有任何效果(我没有收到错误,它只是没有改变文本大小)
这是我当前的代码:
#include <wx/wx.h>
class Frame : public wxFrame
{
private:
wxStaticText* staticText1 = new wxStaticText(this, wxID_ANY, "Hello, World!", wxDefaultPosition, wxDefaultSize, wxALIGN_CENTER);
public:
Frame() : wxFrame(nullptr, wxID_ANY, "spageta", wxDefaultPosition, wxSize(400, 200)) {
staticText1->SetForegroundColour(wxTheColourDatabase->Find("Black"));
}
};
class App : public wxApp
{
public:
App();
private:
wxFrame* NewFrame = nullptr;
public:
virtual bool OnInit();
};
App::App()
{
}
bool App::OnInit()
{
NewFrame = new Frame();
NewFrame->Show(true);
return true;
}
wxIMPLEMENT_APP(App);
您需要更改字体大小而不是 window 大小。最好的方法是更改它已经使用的相同字体的大小,例如window->SetFont(window->GetFont().Scale(1.5))
,这将使字体大 1.5 倍。可以使用相同的方法将其设为粗体或斜体等。
Compiled application
我想把 Hello World 文本变大,但我不知道怎么做
我尝试使用 staticText1->SetSize(32)
、staticText1->SetSize(wxSize(32,32))
并将 wxDefaultSize
替换为 wxSize(32, 32)
,但没有任何效果(我没有收到错误,它只是没有改变文本大小)
这是我当前的代码:
#include <wx/wx.h>
class Frame : public wxFrame
{
private:
wxStaticText* staticText1 = new wxStaticText(this, wxID_ANY, "Hello, World!", wxDefaultPosition, wxDefaultSize, wxALIGN_CENTER);
public:
Frame() : wxFrame(nullptr, wxID_ANY, "spageta", wxDefaultPosition, wxSize(400, 200)) {
staticText1->SetForegroundColour(wxTheColourDatabase->Find("Black"));
}
};
class App : public wxApp
{
public:
App();
private:
wxFrame* NewFrame = nullptr;
public:
virtual bool OnInit();
};
App::App()
{
}
bool App::OnInit()
{
NewFrame = new Frame();
NewFrame->Show(true);
return true;
}
wxIMPLEMENT_APP(App);
您需要更改字体大小而不是 window 大小。最好的方法是更改它已经使用的相同字体的大小,例如window->SetFont(window->GetFont().Scale(1.5))
,这将使字体大 1.5 倍。可以使用相同的方法将其设为粗体或斜体等。