如何绘制多个矩形 FLTK C++
How to draw multiple rectangles FLTK C++
我正在尝试在fltk中创建一个程序,我遵循了此示例
#include <FL/Fl.H>
#include <FL/Fl_Window.H>
#include <FL/Fl_Box.H>
int main(int argc, char **argv) {
Fl_Window *window = new Fl_Window(340,180);
Fl_Box *box = new Fl_Box(20,40,300,100,"Hello, World!");
box->box(FL_UP_BOX);
box->labelfont(FL_BOLD+FL_ITALIC);
box->labelsize(36);
box->labeltype(FL_SHADOW_LABEL);
window->end();
window->show(argc, argv);
return Fl::run();
}
来自 FLTK 文档。问题是我正在尝试在窗口中绘制多个矩形形状,并且为了拥有多个矩形而创建多个框似乎非常乏味。我尝试查找很多关于在 FLTK 上绘制形状的教程,但我找不到任何足够简单的东西来展示我。
到目前为止,我的代码看起来像这样
#include <FL/Fl.H>
#include <FL/Fl_Widget.H>
#include <FL/Fl_Window.H>
// #include <FL/fl_draw.H>
#include <iostream>
int main() {
Fl_Window *window = new Fl_Window(900, 600);
window->position(0, 0);
window->color(FL_BLACK);
window->end();
window->show();
while (1) {
int ev = Fl::event();
if (ev == FL_SHORTCUT) {
if (Fl::event_key() == FL_Escape)
break;
}
Fl::check();
}
return 0;
}
我想在循环内(连续(实现绘图。
作为一个重要的旁注:你真的应该考虑使用Fl::run()
而不是你的自定义 while 循环,我在像你这样的类似方法时遇到了很多问题。
现在,回答您的问题:
以这个例子为例,将 Box 创建包装在一个循环中。例如,您可以采用一个索引,用于为每个 Box 分配不同的位置。
#include <FL/Fl.H>
#include <FL/Fl_Window.H>
#include <FL/Fl_Box.H>
int main(int argc, char **argv) {
Fl_Window *window = new Fl_Window(340,500);
// 3 Fl_Boxes in a loop
for (int i = 0; i < 3; ++i) {
Fl_Box *box = new Fl_Box(20, 40 + i*120, 300, 100,"Hello, World!");
box->box(FL_UP_BOX);
box->labelfont(FL_BOLD+FL_ITALIC);
box->labelsize(36);
box->labeltype(FL_SHADOW_LABEL);
}
window->end();
window->show(argc, argv);
return Fl::run();
}
您可以使用"构造函数"框中的公式20, 40 + i*120, 300, 100
来控制布局。您必须根据自己的要求进行调整。
对于 FLTK,一个基本规则是:您在窗口构造函数和window->end()
之间初始化的所有小部件或任何其他以相同方式工作的小部件(例如 Fl_Group
(将成为周围元素的子元素,如果显示其父元素,则将显示。
我不完全确定,如果Fl_Box
是你要找的。我发现Erco的FLTK作弊页面非常有帮助。你可能会在那里找到灵感和其他解决问题的方法。
相关文章:
- FLTK:按下哪个按钮 - 将数字传递给按钮的回调 (lambda)
- FLTK 2.0构建和演示,适用于VS2019的2011年左右的代码库
- 找不到 FLTK(缺少:FLTK_INCLUDE_DIR)
- 使用 fltk 时,文本未显示在已编译的窗口中
- 如何在单击按钮FLTK的确切时刻获得小部件的值
- 我在窗口中有一个fltk Fl_Choice下拉菜单,但只能通过鼠标使用
- FLTK:窗口在 MacOS 上获得焦点时的事件
- 带有代码块的 FLTK 错误
- 如何使用Stroustrup的Fltk Text类调用变量?
- 尝试在 c++ 中的 Fltk GUI 中右键单击
- 如何绘制多个矩形 FLTK C++
- 通过函数调用滑块fltk c
- 如何修复书'Programmin principles and practice Using C++'中的 FLTK 头文件?
- 如何在循环中绘制东西(fltk/c )
- 在 FLTK 中添加和分配值
- 如何使用 fltk 使点出现
- FLTK 回调不接受我的函数指针
- 在Linux中使用FLTK应用程序
- 在FLTK中显示Base64编码图像
- 是否可以使用标准的C 线程而不是FLTK超时来更新窗口