我正在阅读“ C ++编程原理和实践”这本书。我正在学习如何使用fltk(第12章),并且设法安装了库并编译了程序。我可以绘制基本形状并为它们上色,更改用于绘制它们的线条纹理,但是,问题是我无法使文本显示在最终编译的窗口中。负责将文本输出到屏幕的“文本”功能没有任何作用。屏幕上没有文字。几何形状出现在窗口中,问题仅在于文本。当我尝试向图形添加标签时,也是如此。 “标签”文本不会出现。其他所有东西都运行良好,我已经尝试编译基本的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和Graph文件是本书随附的文件。这些文件利用fl_draw在屏幕上“绘制”文本,我假设是此功能不起作用。 我正在使用ubuntu并使用g ++编译器。
这是我当前的ouptut
答案 0 :(得分:2)
啊,问题解决了。原来,文本的默认字体大小太小,以至于肉眼看不到。我必须使用“ set_font_size”函数来增加文本的字体大小,然后文本才能再次显示。