问题标签 [wxwidgets]

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.

0 投票
3 回答
500 浏览

c++ - 如何在不使用大量 CPU 的情况下快速将大量丰富的内容(图像、格式)附加到控件?

我正在使用 wxWidgets 和 Visual C++ 创建类似于在 GUI 中使用具有丰富格式(颜色、字体、图像)的 Unix“tail -f”的功能。我的目标是 wxMSW 和 wxMAC。

显而易见的答案是使用 wxTextCtrl 和 wxTE_RICH,调用 wxTextCtrl::SetDefaultStyle() 和 wxTextCtrl::WriteText()。

但是,在我的 3ghz 工作站上,以发布模式编译,我无法继续跟踪平均每行增长 1 毫秒的日志,最终落后。对于每一行,我都会招致:

  1. 两次调用 SetDefaultStyle()
  2. 两次调用两次 WriteText()
  3. 调用 Freeze() 和 Thaw() 小部件

运行此程序时,在填充了大约 20,000 行之后,我的 CPU 使用 wxMSW 在一个内核上达到 100%。一旦达到某个阈值,程序就会明显变慢,进一步落后。

我愿意使用其他控件(wxListCtrl、wxRichTextCtrl 等)。

0 投票
1 回答
1903 浏览

c++ - 在 MS Windows 上的 Netbeans 6.1 C++ 中设置 wxWidget?

我使用 C++ 插件和 cygwin(gcc 编译器)运行 Netbeans 6.1 我如何设置 wxWidget 以使用它?

0 投票
2 回答
8450 浏览

wxpython - 如何从 wxPython 中的 wx.TextCtrl 控件获取滚动位置/范围

我有一个小日志应用程序(用 wxPython 编写),它从我们正在开发的一些工具包中接收数据,我想在滚动窗口中显示文本。就目前而言,我正在使用 wx.TextCtrl 进行文本显示,但我在滚动行为方面遇到了一些问题。

基本上,我希望滚动条位于窗口底部(即传入数据的末尾),添加更多数据应该向前滚动视图。但是,如果视图向上滚动了一点(即用户正在查看一些有趣的东西,例如错误消息),则应用程序应该只在末尾添加文本而不再滚动。

我目前有两个问题:

  1. 我不知道如何检索当前的滚动位置(对 GetScrollPos() 的调用似乎不起作用——它们只返回 0)。
  2. 我不知道如何检索滚动条的当前范围(调用 GetScrollRange() 只返回 1)。

我用谷歌搜索了一下,似乎有一些提示表明 GetScrollPos 和 GetScrollRange 不适用于 wx.TextCtrl?有没有其他人在这方面有任何经验?有没有一个很好的简单方法来解决这个问题,或者我将不得不推出我自己的 wx.TextCtrl?

0 投票
6 回答
3904 浏览

qt - qt/wxwidgets 第三方组件?

我习惯在 Delphi 和 C# 环境中工作,它们似乎有一组丰富的第三方组件可用。我目前想使用 qt 或 wxwidgets 在 C++ 中进行跨平台编程。第三方组件有很大的市场吗?我在看sourceforge,这似乎并没有显示出太多有用的东西(你怎么在不下载源代码的情况下找出项目中的组件或功能?)。我在考虑轮播/封面流组件,丰富的数据网格(例如 DevExpress 提供的那种)。还是这样,写自己的地盘?

0 投票
4 回答
4347 浏览

python - 如何从 wxPython 应用程序中捕获所有异常?

我正在为我们正在开发的一些工具包编写一个小调试应用程序,我想将它推广给一些用户,看看他们是否会引发任何崩溃。有谁知道一种有效包装 wxPython 应用程序以捕获任何和所有会导致应用程序崩溃的未处理异常的方法?

理想情况下,我想捕获所有输出(不仅仅是错误)并将其记录到文件中。任何未处理的异常都应该记录到当前文件,然后允许异常照常传递(即记录过程应该是透明的)。

我确信以前一定有人做过类似的事情,但我没有设法通过谷歌找到任何看起来有用的东西。

0 投票
2 回答
3153 浏览

python - wxPython:在同一帧中显示多个小部件

我希望能够在单个框架中显示Notebook和wx 小部件。TxtCtrl以下是改编自 wxpython wiki 的示例;是否可以更改它们的布局(可能使用类似的东西)以在同一框架wx.SplitterWindow中显示下方的文本框?Notebook

0 投票
3 回答
2657 浏览

c++ - Is it possible to enumerate the wxFrame children in wxWidgets?

I'm using the wxGlade designer to generate the GUI for a small application. It generates a class, inherited from wxFrame, which is the main application window. In order to facilitate the maintenance, I'd like to avoid writing additional code in this generated class.

But all the widgets created with the wxGlade are actually created in the auto-generated method do_layout() and it is not possible to access them outside the scope of that generated method in the generated class.

Is there a way to get pointer of certain widget outside that generated class - by name, by type, by enumerating the children or something like that?

0 投票
8 回答
665 浏览

c++ - 新项目:我无法选择要使用的语言

我正在开始我的第一个独立营利企业。我很难决定使用什么语言。我想用 Perl 编写我的应用程序,但我认为编译起来不够简单。如果我不使用 Perl 编写它,我将使用 C++ 编写它。

该应用程序将具有许多功能,包括wxwidgets接口、处理 SDL、计时器、一些线程和音频处理。程序本身会有些复杂,但不会很大。

所以我的问题是:

  1. PAR、​​Perl2exe 或等效程序可以编译更多的基本测试用例吗?
  2. 除了速度和编译,为什么我应该使用 C++ 而不是 Perl?

编辑:我的一些项目规范。

  • 多平台。我预计 50% 或更多的用户拥有 Mac,其余大部分是 Windows 用户。如果可能的话,我也想支持 Linux,因为它是我的日常操作系统。
  • 由于它是多平台,我需要一个统一的 GUI 创建工具。它需要能够使用基本类型,并允许我创建自定义事件处理程序和自定义 GUI 对象。
  • 它需要音频处理。阅读和播放 wav 和/或 mp3。此外,我将使用一些自定义算法来确定音频文件的特殊属性;诸如节奏,模式等之类的东西。
  • 我想要但不需要 SDL/OpenGL 支持。

其他一切都很平凡。一些不同的类和容器。一些自定义 GUI 控件。

0 投票
2 回答
4849 浏览

c++ - 如何在 Windows 上使用 Eclipse 构建 wxWidgets

我在 Windows XP SP2 机器上安装了 wxWidgets 2.8.9 并根据说明构建了库,现在我正在尝试获取Hello World!从 Eclipse 中构建的教程应用程序,我显然只是遗漏了一些东西。知道如何让 Cygwin、Eclipse 和 wxWidgets 一起玩吗?

0 投票
6 回答
20482 浏览

c++ - wxWidgets:如何在不使用宏且不进入主应用程序循环的情况下初始化 wxApp?

我们需要使用Google Test Framework为wxWidgets应用程序编写单元测试。问题是wxWidgets使用宏IMPLEMENT_APP(MyApp)来初始化并进入应用程序主循环。这个宏创建了几个函数,包括int main()。google 测试框架还为每个测试使用宏定义。

其中一个问题是无法从测试宏中调用 wxWidgets 宏,因为第一个宏会创建函数。因此,我们发现可以将宏替换为以下代码:

这是一个很好的替代品,但是 wxEntry() 调用会进入原始应用程序循环。如果我们不调用 wxEntry() ,应用程序的某些部分仍然没有初始化。

问题是如何初始化 wxApp 运行所需的一切,而不实际运行它,以便我们能够对它的部分进行单元测试?