在C ++中运行时在FLTK中添加/删除小部件

问题描述 投票:1回答:1

我正在制作一个处理平面图的应用程序,因此希望有一个“层”对话框,该对话框允许用户打开/关闭平面图中的不同层。

我希望有一个弹出窗口,因此对于在运行时加载的平面布置图中的每个层都有一个复选框。每个复选框本身就是一个小部件,我只有在编译时指定/创建的经验。但是,在加载特定的平面图之前,我不知道需要多少复选框。

我向前问的问题是我将如何在FLTK中创建此类功能(我正在使用什么)。我可以想象在启动层对话时(在每个循环中都具有通用的回调函数)在回调中在循环中创建复选框小部件,但是我不知道如何指示FLTK将复选框小部件放在何处。即,在运行时如何指示FLTK层对话窗口应为父窗口小部件?另外,我可以动态创建整个窗口,但是我担心确保窗口在隐藏时被销毁(删除)。

N.B。我可以想象当窗口关闭(隐藏)时删除小部件。在这一点上,我还不清楚:我是以通常的new / delete c ++方式删除小部件还是使用Fl :: delete_widget()对话框(http://www.fltk.org/doc-1.3/group__fl__del__widget.html#ga609413ac47ba433d1e7da8678a27164f

或:是否有更好的方法来解决所有这些问题?

我正在制作一个处理平面图的应用程序,因此希望有一个“层”对话框,该对话框允许用户打开/关闭平面图中的不同层。我想弹出一个窗口...

c++ fltk
1个回答
1
投票

这是一个如何根据层数进行大小调整的示例。要注意的主要事情是,如果使用向量,则向量会随着向量的增长而重新分配,因此保持指针在向量中显示数据可能会导致屏幕上出现垃圾。

© www.soinside.com 2019 - 2024. All rights reserved.