问题标签 [fltk]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
fltk - 无法调试 CodeLite 创建的 Fltk 项目
我正在使用 CodeLite 创建一个 Fltk 项目。一切似乎都很好,但是当我按 F5 进行调试时,它总是因“程序接收到信号 SIGSEGV”提示而崩溃。这是调用堆栈:
0 0x00401c66 Fl_Widget::Fl_Widget(int, int, int, int, char const*)
1 0x0040a6b1 Fl_Group::Fl_Group(int, int, int, int, char const*)
2 0x004097bf Fl_Window::Fl_Window(int, int, char常量*) 3 0x00401415 主要
我确信代码没有问题,因为我通过使用 CodeBlocks 成功完成了它;
构建日志,也许有用:
C:\windows\system32\cmd.exe /c "mingw32-make.exe -j 4 -e -f "CL_TESL_wsp.mk"" ----------构建项目:[HelloFltk - 调试]- ---------" mingw32-make.exe[1]: 进入目录
G:/CPP/CL_TESL/HelloFltk' g++ -o ./Debug/HelloFltk @"HelloFltk.txt" -L. -LG:/MinGW-4.7.1/lib/ -LG:/FLTK/fltk- 1.3.2/lib/ -LG:/FLTK/fltk-1.3.2/ -LG:/MinGW-4.7.1/lib/ -lgdi32 -lfltk -lfltk_forms -lfltk_gl -lfltk_images -lfltk_z -lgdi32 -lole32 -luuid -luser32 -lcomctl32 mingw32-make.exe[1]: Leaving directory
G:/CPP/CL_TESL/HelloFltk' 0 个错误,0 个警告
新情况!!今天我将我的 CodeBlocks 更新到最新版本,它出现了同样的问题。我认为它与 MinGW 的版本有关......我使用新版本的 MinGW 重新制作 FLTK,也不起作用......所以我必须将 CodeLite 的 MinGW 路径更改为旧路径,它可以工作...为什么我不能使用最新版本?
c++ - 调用 Fl_Double_Window 的 hide 方法在多线程 FLTK C++ 应用程序(Visual Studio 2010)中无效
我正在开发一个 C++ FLTK 应用程序。这是一个多线程应用程序,它使用以下代码在线程中创建和显示模式窗口:
然后在同一个线程中创建一个新线程并将指向Fl_Double_Window
对象的指针作为线程参数传递给它:
& 在我的线程函数中我做了一些操作 & 然后我需要隐藏显示的模式窗口:
问题出在我的代码成功执行而没有错误,但是在执行对象指针hide
的方法之后dlg
,窗口不会隐藏并且似乎调用hide
甚至删除窗口对象delete dlg
都没有效果。
我猜这个问题与多线程行为有关,但我猜不出问题的原因以及我应该如何解决它。
c++ - 让 FLTK 在 MinGW 上工作
我通过 MinGW 的 msys 命令行安装了 FLTK。一切似乎都很好,但是当我尝试运行一个简单的程序时,它会报告此错误:
我本来希望它已经被定义,因为它是我试图在这里工作的手册中的第一个代码示例。
visual-studio-2010 - 在 Visual Studio 2010 上安装 FLTK
我在 Visual Studio 2010 上安装 FLTK 1.3.2 时遇到了一些问题。我正在解压缩文件,然后用 Visual Studio 打开 FLTK.dsw,全部选择“是”,然后在加载后构建解决方案。每当我尝试构建解决方案时,我都会得到 80 个构建成功,4 个失败,0 个跳过。我认为我做错了什么,因为我已经在两台不同的计算机上尝试过并且得到了同样的错误。
windows - C++:帮助安装 FLTK
我似乎无法弄清楚如何在 Windows 上安装 FLTK。我尝试查看我在网上找到的一些东西,但到目前为止没有任何效果。有人能给我一步一步的指导吗?
fltk - 有没有人使用过 Fl_Native_File_Chooser 并设置了启动目录?
我正在尝试使用来自 fltk 1.3 的 Fl_Native_File_Chooser,并且除了设置启动目录之外,该类工作正常。
我已经查看了代码。在 Fl_Native_File_Chooser_WIN32.cxx 和 int Fl_Native_File_Chooser::showdir() 我不明白为什么 _binf.pidlRoot 没有设置。我看过 Fl_Native_File_Chooser::showfile() 但对话的设置方式不同。
那么,当您浏览目录时,是否有人成功设置了 Fl_Native_File_Chooser 的启动目录?
对我来说奇怪的是正常的 Fl_File_Chooser 工作。
python-2.7 - 如何将 Fl_Text_Editor 与由函数产生的输出连接?
我有一个产生数字列的函数:
我想在 Fl_Text_Editor 小部件上输出“区域”结果。这是我现在拥有的代码:
c++ - Stroustrup FLTK Out_box newline
How to put newline \n
to Out_box object? If i do something like:
Output looks like:
And, I want something like that:
I figure it out. I think it may helpfull for someone. If you want to make Out_box to maintain multiply lines, you need to change definiton of Out_box::put and Out_box::attach in Gui.cpp. Don't forget to include
multithreading - 我可以使用 FLTK 1.3 在不同线程上创建窗口吗?
我目前正在研究声音信号可视化器。得到信号后,我需要在两个不同的窗口上绘制它的波形和频谱。因此我实现了一个 Plotter 类,它在构造时为每个实例创建自己的线程。但是现在我遇到了麻烦,因为 FLTK 的许多功能似乎是线程不安全的,因为它在某些类方法调用时崩溃。(如设置轴刻度)
我现在使用的模型:
这种模式是否可行?我现在不知道......谢谢。
c++ - 如何在跨平台应用程序中存储首选项(和用户设置)?
我正在开发一个应该在 Windows、Mac OS X 和 Linux 上本地运行的 GUI 桌面应用程序。在跨平台应用程序中存储首选项的首选方式是什么?我正在使用 C++,但问题(及其答案)应该对任何本机编译的语言都有效。(可以在这里看到动态语言和 Java 的解决方案。)
到目前为止,我的研究告诉我,至少有两种策略:
(A) 使用特定于操作系统的 API 首选项函数。
(B) 将首选项存储在适当的(特定于操作系统的)文件夹内的文件中。
让我们考虑方法(A):我假设NSUserDefaults
是 Mac OS X 的正确方法。在 Windows 系统上,我会通过RegOpenKeyEx
. 但是出现了一些问题:是否有任何可比较且可移植的 Linux API 呢?写入 Windows 注册表真的是面向未来的解决方案吗?
为了简单起见,我倾向于遵循方法(B)。因此,我只有特定于操作系统的代码来获取适当的目录,我可以在其中以我选择的格式存储我的数据。在 Windows 上,我已经学会SHGetFolderPath
(或SHGetKnownFolderPath
最近的 Windows 系统)并且CSIDL_LOCAL_APPDATA
是要走的路。在 Mac 上,NSSearchPathForDirectoriesInDomains
API 调用应该做同样的事情;它是一个 Objective-C API,虽然让事情变得更复杂。最后,对于 Linux 版本,使用getenv("HOME")
(并getpwuid()
作为后备解决方案)似乎是推荐的。
总结一下我的问题:
1. 是否有任何模式被认为是该任务的最佳实践?
2. 是否有任何 C++ 类抽象出所有脏东西,比如在外面找到正确的文件夹?(我遇到了QSetting,但我正在使用 FLTK 并且我不想更改我的 GUI 工具包。)
编辑:
“首选项”是指可能由应用程序和用户更改的数据,例如最近文件列表、首选窗口大小等。