问题标签 [wxformbuilder]

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 投票
1 回答
151 浏览

c++ - 使用 wxWidgets 和 FormBuilder 绘制区域

我的任务是为某些工具和打印六边形地图创建客户端(最好可以为 Windows 和 Linux 构建它)。

我为此选择了wxWidgets。我下载了 WxFormBuilder,它非常有助于为它们创建表单和代码。

但我必须以这种形式在某处绘制六边形地图。而且我没有从仪表板上找到我必须使用的项目。我可以在为我自动创建的源中手动添加类似wxPanel的东西,但这是个坏主意,因为在wxFormBuilder每次更改后,我都需要手动再次解析结果。

我是绘画和图形的新手,但相信在wxFormBuilder中必须有解决方案,不是吗?

0 投票
1 回答
4996 浏览

python - 如何编写 wxPython textCtrl 焦点事件

当用户单击 textCtrl 时,我试图触发一行代码。最终目标是在单击框时突出显示框的内容。我知道 wx.EVT_SET_FOCUS 可以做到这一点,但它要么有问题,要么我执行错误。这是我的代码:

这段代码能够在我想要的时候成功触发 highlightText,但由于某种原因,光标从 textCtrl 中移除,导致用户无法选择他的位置、突出显示或退格。任何建议,将不胜感激。作为旁注,有没有办法在 wxFormBuilder 中做到这一点?我使用它构建了我的应用程序,但无法添加焦点事件。它提供的唯一焦点事件似乎是整个窗口。

编辑 9/19/14:Mike,这是我自动生成的 wxFormBuilder 代码,位于gui.py

...这是我写的事件处理程序

该事件工作正常(因为在我需要时打印测试),但我无法突出显示文本,也看不到我的光标。

0 投票
0 回答
430 浏览

python - Python:变量仅在存在打印语句时才有效

我有一个非常奇怪的问题困扰了我大约过去一天。

正在发生的事情是有一个main.py初始化我的mainframe1类的主要 Python 文件,它引用gui.py了它的所有 wxpython 代码来调出窗口。该文件只是事件处理程序。checkClick1当我单击窗口中的复选框(我知道的创意名称)时运行,这反过来又启动了checkAdvance1.

除一部分外,程序中一切正常。我的eID1变量在 中工作得很好__init__,并textCtrl3显示它。但是,当我尝试在 中再次使用它时checkAdvance1,程序会挂起。

为了测试它,我eID1用两个测试打印语句包围了打印语句。仅test1打印,并且没有给出错误代码,程序只是挂起。更令人困惑的是,当我print eID1在函数中添加一条语句__init__(现在已被注释掉)时,程序运行得很好!

我不确定 print 语句会如何影响变量功能,但它正在发生。但是,将打印语句放入修复它似乎是一种忽略实际问题的劣质解决方法。此外,注释掉的eID1声明只是一个示例,向您展示程序运行时变量的内容是什么样的。

编辑:我想出了一个我不完全满意的解决方法,但它比添加打印更好。如果我创建另一个变量,我可以将其设置为 empID1 的字符串翻译,如下所示:empID1 = str(eID1). 然后我可以稍后引用这个值来代替 eID1。但是,这仍然不适合我,因为根据我所知道和研究的一切,我的原始代码应该可以工作。这让我觉得幕后发生了一些不好的事情,以后可能会回来咬我。

0 投票
2 回答
212 浏览

python - Python编写代码以获得最活跃的客户和最少的客户

我们被要求设计一个 GUI 来计算最活跃和最不活跃的客户。底部有两个按钮,用于计算最活跃和最不活跃的客户。还有一个结果区域,将显示按下两个按钮的结果。

有一个列表框,下面有两个按钮。名称将显示在列表框中。例如,当我在第一个 textCtrl 中输入“sam”时,然后单击添加客户按钮。Sam 将出现在列表框中。在您多次输入不同或相同的名称后。带有名称的列表是列表框。例如,列表框中有三个“sam”和两个“justin”。当我单击“最活跃的按钮”时,名称 sam 将出现在结果框中。当我单击最少活动按钮时,名称 justin 将出现在结果框中。

我成功定义了添加客户按钮,但我不知道如何定义计算最活跃和最不活跃客户的按钮。有人告诉我我需要使用计数功能,但我不知道该怎么做。

这是我到目前为止得到的:

有人可以帮助我下一步吗?谢谢!PS 结果框的名字是 m_textCtrl2 列表框的名字是 m_listbox1

0 投票
0 回答
444 浏览

python - wxFormbuilder/Python 中的股票图表

我在 wxFormbuilder 下面有我的应用程序: 在此处输入图像描述

在以红色边框突出显示的区域中,我希望能够在那里展示一个股票图表。我了解 matplotlib 导入可以处理股票图表,但是如何将该图表绑定到我的应用程序中的灰色面板?

0 投票
1 回答
493 浏览

python - 如何在 python 中将 wxListBox 条目写入 .txt 文件

我正在尝试对 wxFormBuilder 接口进行编程,以将 wxListBox 中的文本写入文本文件。我当前的代码:

目前,此代码仅保存列表框中的最后一个条目,而不是所有条目。我也无法将文本文件中的列表导入 wxListBox。使用我拥有的代码,我收到“TypeError:需要字符串或 Unicode 类型”错误:

0 投票
1 回答
308 浏览

python - 在程序运行开始时填充 wxChoice | Python

一旦我的程序运行,我希望我的 wxChoice 被我指定的列表中的项目填充。我正在使用 wxFormBuilder 来处理我的程序的 GUI 元素。

我的代码:

此事件在用户单击下拉 (wxChoice) 菜单时激活,并在每次单击时重新填充。

有没有一种方法可以在程序初始打开/运行时仅填充一次 wxChoice?

我已将此代码放置在创建 wxChoice 的位置。但是,我现在在第 44 行遇到“Unndent 与任何外部缩进级别不匹配”。我该如何解决这个问题?

在此处输入图像描述

0 投票
1 回答
383 浏览

wxformbuilder - wxformbuilder 和 unicode 标签

有没有办法将 Unicode 字符转换为 wxFormBuilder 生成的标签代码?

例如,要获取 Angstrom 字符,生成的字符串应为u"\u212b".

我尝试\u212b在标签属性字段中输入,但结果字符串显示为u"u212b". 所以我尝试转义反斜杠,\\u212b但这给了我u"\\u212b".

我正在使用 wxFormBuilder v3.5 - beta。生成 Python 代码,尽管 C++ 代码显示相同的行为。

0 投票
1 回答
1029 浏览

user-interface - wxPython: access sizer of GUI generated by wxFormBuilder and replace child

I want to buid my applications under the idea of an MVC, with sepparate GUI and controller. In addition, I have a workmate much better than me in graphical tasks, and we want to distribute the work: he build the graphical part with wxFormBuilder and I build the "machinery" of the application.

When I have the GUI generated, I want substitute some elements that wxFormbuilder cannot manage: by example, the wxObjectListView. My idea is create a GUI with a normal wxListBox, import it with the main program, and substitute it with an wxObjectListView. I don't want to modify directly the generated code by wxFormBuilder, because I want to maintain the backwards compatibility with the GUI editor.

The problem and the question are: from the main program that imports the GUI, how can I access the sizer that contains the list, delete and substitute by a ObjectListView? Something like sizer.Delete(list) and then sizer.Add(olv)...

Here you are an example:

The GUI code generated by wxFormBuilder: a Frame with a list and a button.

And here is the main code, that imports the graphical class.

When I attempt to access the Frame children, I only see the "final" objects, not the Sizer.

Maybe the GUI must have another structure if I want make it his elements accesibles, but I have no idea how to make it. I have tried make two levels of sizers, and the final result is the same: I can access the final elements, not the sizers.

0 投票
0 回答
207 浏览

python - 12:52:27:调试:..\..\include\wx/msw/private.h(697):“UnregisterClass”失败,错误为 0x00000584(类仍有打开的窗口。)

使用 wxformbuilder 为 python 程序构建 gui 时;经过多次编辑和重新构建后,我收到以下错误:

12:52:27:调试:....\include\wx/msw/private.h(697):“UnregisterClass”失败,错误为 0x00000584(类仍有打开的窗口。)。

我做错了什么,从哪里开始排除故障/如何解决?