问题标签 [gtkmm]
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.
c++ - BadAlloc X 错误
我在尝试构建 GTK 程序时遇到了一些问题。
当我编译它时,我不断收到此错误:
我已将其追溯到以下似乎导致它的命令:
Top_Graph 和 Graph_Cpu 都是 GtkVbox Widget。
有没有人见过这样的错误,他们能否给我一些关于它是如何引起的建议。
c++ - 多生产者单消费者队列
我是多线程的新手,并且设计了一个程序,该程序从两个测量各种温度(环境和水)的微控制器接收数据并将数据绘制到屏幕上。现在这个程序是单线程的,它的性能很糟糕。
我获得了多线程的基本设计方法,但不足以创建线程来执行任务,但我没有得到的是如何让线程执行单独的任务并将数据放入共享数据池中。我想我需要创建一个包含一个消费者和多个生产者的队列(想使用 std::queue)。我在 gtkmm threading docs 上看到了一些代码,它们显示了单个 Con/Pro 队列,它们会锁定队列对象产生数据并向睡眠线程发出信号,表明它已完成,然后生产者将进入睡眠状态。对于我需要的东西,我需要让一个线程休眠,如果我没有让任何线程休眠,是否会出现数据冲突,并且休眠一个线程会导致数据显着的数据延迟(我需要绘制 30 帧的实时数据)秒)
我将如何使用 gtkmm/glibmm 库对这样的队列进行编码。
c++ - 使用编辑器 Geany 获得 Gtkmm 的智能感知需要什么!
我想在 GTkmm 应用程序中获得智能感知,就像我们在 windows 下的 dot net 中获得的一样。然而这次我使用 Linux、C++、Gtkmm 和 Geany 作为我的编辑器。请指导如何获得智能感知。此外,如果任何类型的编辑器支持智能感知的属性,也请提及。
感谢和问候 Owais Masood
c++ - 如何在没有 MSYS 的情况下将 gtkmm 与 MinGW (g++) 一起使用?
如何在没有 MSYS 的情况下将 gtkmm 与 MinGW (g++) 一起使用?
这是我的问题的故事:
我使用所有必需的软件包(完整安装)离线安装了 MinGW。我安装了 Apache 服务器并复制了所有 .tar.gz 文件,并创建了一个名为 sourceforge.org [localhost] 的网站,并在 Windows XP 上自动安装了 MinGW。之后,我设置了 PATH 变量。
我为 MinGW (g++) 安装了 gtkmm。我试图用 gtkmm + MinGW 编译一个简单的窗口,但它不起作用。
我使用这个命令行:
在此之后,我安装了 MSYS,我可以使用 MSYS 编译 simple.cc,使用以下命令行:
我的问题:我想在simple.cc
没有 MSYS 的情况下进行编译。我想simple.cc
用 cmd.exe 编译我的 - 这可能吗?如果是。如何?
base.cc 源代码:
命令行:
结果:
命令行:
结果:
命令行:
结果:许多错误看起来像:
命令行:
结果:许多错误看起来像:
顺便说一句,我也在使用``,看起来像:
如果我使用 MSYS,我可以编译 base.cc,但我需要在没有 MSYS 的情况下编译它。关于 PATH 的另一个信息(可能是必要的)(也许这里是错误的):
路径一:
变量名:path 变量值:C:\MinGW\bin
路径 2:
变量名:PKG_CONFIG_PATH 变量值:C:\gtkmm\lib\pkgconfig 我该怎么办?请帮我解决我的问题。我为我的英语水平道歉(以防您没有正确理解我的信息)。
c++ - GTKMM/C++ 窗口事件失去/重新获得焦点?
每当我的 GTKMM 应用程序失去或重新获得焦点时,如何调用函数?
c++ - Linux / C++ / Gtk 的报告库?
我们有一个 C++ Gtk 应用程序,它目前有一个“自制”报告组件。我们正在寻找功能更全面的报告库,最好具有所见即所得的设计器、打印预览/GUI 查看器和 PDF 导出功能。
有什么建议吗?
windows - 在 glib(mm) 中监视 UDP 套接字会占用 CPU 时间
我有一个接收 UDP 数据包(不发送)的 GTKmm Windows 应用程序(使用 MinGW 构建)。套接字是原生的 winsock,我使用 glibmm IOChannel 将其连接到应用程序主循环。使用 recvfrom 读取套接字。
我的问题是:这个设置在 3GHz 工作站上占用了 25% 的 CPU 时间。有人可以告诉我为什么吗?
在这种情况下,应用程序处于空闲状态,如果我删除 UDP 代码,CPU 使用率会下降到几乎为零。由于应用程序必须执行一些 CPU 密集型任务,我可以想象更好的方式来花费这 25%
以下是一些代码摘录:(对不起 printf 的;))
我在其他一些问题中以及在 glib 文档 (g_io_channel_win32_new_socket()) 中读到了套接字被置于非阻塞模式,这是“实现的副作用并且不可避免”。这是否解释了 CPU 效应,我不清楚?
我是否使用 glib 访问套接字或直接调用 recvfrom() 似乎没有太大区别,因为 CPU 在任何数据包到达之前就用完了并且读取处理程序被调用。glibmm 文档还指出,即使轮询套接字也可以调用 recvfrom() (Glib::IOChannel::create_from_win32_socket())
我尝试使用 -pg 编译程序并使用 gprof 创建每个函数的 cpu 使用情况报告。这没有用,因为时间没有花在我的程序上,而是花在了一些外部 glib/glibmm dll 上。
c++ - 唤醒线程信号
我有一个将实时动画绘制到 gtkmm 窗口的程序。我有我的主线程 gui 线程和一个使用 cairo 将动画帧渲染到图像表面的工作线程。工作线程每 33 毫秒由主线程发出信号。现在,当必须渲染帧时,我的应用程序会在每次超时时创建一个新的渲染线程。我该如何创建一种线程池,在该线程池中,gui线程中的超时信号通知我的工作线程唤醒并渲染一个帧,该帧向gui线程发出帧已完成的信号,然后返回睡眠并等待再次发出信号。
c++ - 关于 glade3 和 gtkmm 的 Linux / C++ 帮助
这是一个 C 应用程序源代码,它使用 Glade3 和 GTK2+ 创建 GUI:
和林间空地文件:
现在我想用 C++ 编写这个应用程序。谁能给出一个使用 gtkmm 的例子或教程?或者更好地为我转换这个简单的例子?提前致谢!
c++ - 如何获得 giomm-2.4 软件包?
我正在尝试使用 NetBeans 构建 GTK 应用程序 (c++)。包含 gtkmm.h 文件后,我必须使用 pkg-config 工具来确定它的依赖关系在哪里。然后我将它们添加到包含的文件夹中。Netbean 抱怨它找不到“giomm-2.4”。/usr/lib 中不存在此包,我似乎无法在 Synaptic 中找到此包。
谁能告诉我在哪里可以找到它?
谢谢。