使用 fltk 时,文本未出现在已编译的 window 中

Text not appearing in the compiled window while using fltk

我正在阅读这本书 "C++ programming principles and practices"。我正在学习如何使用 fltk(第 12 章),我已经设法安装了库并编译了程序。我可以绘制基本形状并为其着色,更改用于绘制它们的线条纹理,但是,问题是我无法让文本出现在我最终编译的 window 中。负责将文本输出到屏幕的 "Text" 函数不执行任何操作。屏幕上没有文字。几何形状出现在window,问题是文字独有的。当我尝试向图表添加标签时也是如此。 "label" 文本没有出现。其他一切都完美无缺,我已经尝试编译基本的 fltk hello,world 程序。当我编译它们时,文本出现在屏幕上。

这是代码

#include "Simple_window.h"
#include "Graph.h"
using namespace Graph_lib;

int main(){
    Point tl {100,100};
    Simple_window win {tl,600,400,"Canvas"};
    Axis xa {Axis::x, Point{20,300},280,10,"x axis"};
    win.attach(xa);
    win.set_label("Canvas#2");
    Axis ya{Axis::y, Point{20,300},280,10,"y axis"};
    ya.set_color(Color::cyan);
    ya.label.set_color(Color::dark_red);
    win.attach(ya);
    win.set_label("Canvas #3");
    Function sine{sin,0,100,Point{20,150},1000,50,50};
    win.attach(sine);
    win.set_label("Canvas#4");
    sine.set_color(Color::blue);
    Polygon poly;
    poly.add(Point{300,200});
    poly.add(Point{350,100});
    poly.add(Point{400,200});
    poly.set_color(Color::red);
    poly.set_style(Line_style::dash);
    win.attach(poly);
    Rectangle r{Point{200,200},100,50};
    win.attach(r);
    win.set_label("Canvas 6");
    Closed_polyline poly_rect;
    poly_rect.add(Point{100,50});
    poly_rect.add(Point{200,50});
    poly_rect.add(Point{200,100});
    poly_rect.add(Point{100,100});
    win.attach(poly_rect);
    poly_rect.add(Point{50,75});
    r.set_fill_color(Color::yellow);
    poly.set_style(Line_style(Line_style::dash,4));
    poly_rect.set_style(Line_style(Line_style::dash,2));
    poly_rect.set_fill_color(Color::green);
    win.set_label("Canvas 7");
    Text t{Point{150,150},"testing..."};
    win.attach(t);
    win.set_label("Canvas 8");
    win.wait_for_button();


}

Simple_window 和图形文件是本书附带的文件。这些文件利用 fl_draw 到 "draw" 屏幕上的文本,我假设是这个功能不起作用。 我正在使用 ubuntu 并利用 g++ 编译器。

这是我现在的ouptut

啊,问题解决了。事实证明,文本的默认字体太小,肉眼无法看到。我不得不使用函数 "set_font_size" 增加文本的字体大小,然后文本再次可见。