【问题标题】:How can i set text size in wxWidgets?如何在 wxWidgets 中设置文本大小?
【发布时间】:2021-12-05 15:36:35
【问题描述】:

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);

【问题讨论】:

  • 在 wxFrame 的构造函数中尝试以下操作:wxFont font = staticText1-&gt;GetFont(); font.SetSize( 32 ); staticText1-&gt;SetFont( font );
  • @Igor 我试过了,但我得到了这个错误error: 'class wxFont' has no member named 'SetSize'; did you mean 'SetStyle'?
  • 抱歉,请使用SetPointSize()/SetPixelSize()。一个或另一个。
  • @Igor 谢谢,这工作:)

标签: c++ wxwidgets


【解决方案1】:

您需要更改字体大小而不是窗口大小。最好的方法是更改​​它已经使用的相同字体的大小,例如window-&gt;SetFont(window-&gt;GetFont().Scale(1.5)),这将使字体大 1.5 倍。可以使用相同的方法使其变为粗体或斜体等。

【讨论】:

    猜你喜欢
    • 2010-10-11
    • 2017-01-18
    • 2020-10-01
    • 1970-01-01
    • 2012-05-19
    • 2014-03-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多