使用 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" 增加文本的字体大小,然后文本再次可见。
我正在阅读这本书 "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" 增加文本的字体大小,然后文本再次可见。