问题标签 [wxpython]

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 回答
256 浏览

wxpython - 是否将一个 xrc 文件中的元素包含在另一个 xrc 文件中

我有一个 wx 应用程序,它的 UI 在 XRC 文件中定义。每个表单都在其自己的 xrc 文件中。许多表单都有一个面板。有没有办法让一个文件中定义的对象在另一个文件中包含和引用?

我知道有一个 object_ref 机制,但我看不出它如何引用外部 xrc 文件。

我想要一些类似于在一个文件中定义 xsd 元素并在另一个 xsd 文件中包含和引用它们的方式的东西。

0 投票
2 回答
955 浏览

python - wxPython - 替换 wxFrame 的面板时重绘错误

我第一次创建了一个小型 wxPython 实用程序,但遇到了一个问题。

我想将组件添加到已创建的框架中。为此,我将销毁框架的旧面板,并创建一个包含所有新组件的新面板。

1:有没有更好的方法来动态添加内容到面板?

2:为什么,在下面的例子中,我得到一个奇怪的重绘错误,在面板中只在左上角绘制,并且在调整大小时,面板被正确绘制?(WinXP、Python 2.5、最新的 wxPython)

感谢您的帮助!

0 投票
1 回答
464 浏览

python - AuiNotebook,事件发生在哪里

如何找出事件发生在哪个 AuiNotebook 页面?

编辑:对此感到抱歉。这是一个代码示例。如何从单击鼠标的女巫中找到笔记本页面?

欧尔扬·彼得森

0 投票
1 回答
3874 浏览

python - 使用 wxpython 进行双缓冲

我正在使用 wxpython 开发一个多平台应用程序,在面板上绘图时,我在 Windows 上遇到了闪烁问题。我曾经在鼠标运动事件期间在缓冲区(wx.Bitmap)上绘制,而我的 OnPaint 方法仅由在线组成:

相当标准,但我在 Windows 上仍然有闪烁的问题,而在 Linux 上一切正常。

解决了我SetDoubleBuffered(True)在方法中调用的问题__init__

奇怪的是,即使我不再使用 BufferedPaintDC,现在一切正常。我更改了我的应用程序,以便所有绘图部分都在 OnPaint 方法中完成。我不使用缓冲区,直接在 wx.PaintDC 上完成绘图,完全没有闪烁问题。

所以我的问题是:BufferedPaintDC 完全没用吗?还是以某种方式弃用?我是“WxPython in Action”(2006 年)一书的所有者,它甚至没有提到 SetDoubleBuffered

0 投票
2 回答
5296 浏览

colors - wxPython wxListCtrl 选中的行颜色

我想让某些行选择颜色为红色而不是标准颜色(Windows 上的蓝色),以便我可以指示状态。任何人都知道这在 wxPython 中是否可行?

0 投票
2 回答
3843 浏览

python - wxPython 工具栏帮助

我是 Python 新手。我正在使用 wxPython 编写一个应用程序,我目前生成工具栏的代码如下所示:

我正在尝试稍微清理一下代码,并且我希望工具栏有自己的类,所以当我想创建一个工具栏时,我只需将其命名为:

我的问题是我怎样才能重写它,让它像那样工作?目前我的代码如下所示:

我不太确定“自我”是如何工作的。我需要重写init函数吗?我如何解决它?任何帮助是极大的赞赏。谢谢

0 投票
1 回答
2024 浏览

user-interface - wxPython 对话框

我正在 wxPython 中编写一个显示错误对话框的类。这是我的代码:

如何将默认图标更改为自定义图标?我试图用 wx.Icon 替换它们,但它不起作用。wxPython 中的对话框是否仅限于我上面使用的图标?在 Mac OS X 上,它们似乎无法正确显示。

0 投票
1 回答
1350 浏览

python - 你将如何在 wxPython FlexGridSizer 中绘制单元格边框?

我是 Python 新手,但我在网上找不到太多像样的文档,所以我希望有人知道答案或答案在哪里......

我有一个 wxPython FlexGridSizer 绑定到包含其他 FlexGridSizer 的面板,我想在主 FlexGridSizer 上显示一些单元格边框,所以每个部分看起来都是封装的,但我找不到任何文档来做到这一点。

我尝试使用面板添加到我的主 FlexGridView,并打开面板的边框,但面板的边框并不总是填满整个 FlexGridView 单元格,因此它看起来不连贯且不均匀。

有人知道如何正确模拟吗?

0 投票
3 回答
3105 浏览

layout - 当面板在另一个 wx.sizer 中展开时,如何展开 wx.panel 的 wx.sizer?

我有一个 wx.Panel,它有一个与之关联的 GridBagSizer。这个面板被放置在另一个 Sizer (BoxSizer) 中,它的 add 有 expand 标志——这意味着面板占据了 sizer 的整个宽度,这很棒。...但是面板的内部尺寸器现在没有填满面板。

当我添加它的组件时,我尝试将内部sizer 的标志设置为 wx.Expand|wx.ALL,但这不起作用。任何人都知道如何确保在面板展开时大小调整器保持与面板相同的宽度?

编辑:我的代码创建包含 GridBagSizer 的面板:

0 投票
4 回答
1546 浏览

python - 防止 wxPython 显示“未处理的异常”对话框

我有用 Python 和 wxPython 编写的复杂 GUI 应用程序。

我希望它通过 Windows Vista 认证,因此它必须以一种导致 Windows 错误报告对话框(询问“你想向 Microsoft 发送报告吗? ”)出现的方式崩溃。这与“ Certified for Windows Vista Test Cases ”文档中的第 32 号测试用例有关。

ThreadHijacker不幸的是,当我使用工具 wxPython使我的应用程序崩溃时,会显示如下消息:

如何防止 wxPython 显示此消息?我有 custom sys.excepthook,但似乎在我的 except 钩子可以干扰之前显示了这个对话框。

编辑:

wxWidgets文档wxAppConsole::OnExceptionInMainLoop被调用,并在 MSW 下显示一些精美的对话框,允许用户在不同的选项之间进行选择。然而,似乎 wxPython 不允许重载该函数......有谁知道如何在 wxPython 中更改wxAppConsole::OnExceptionInMainLoop的默认行为?
我更喜欢 Python 级别的解决方案,而不是 C/C++ 的解决方案

编辑2:

总而言之,我在 wxPython 邮件列表中询问过,Robin Dunn 回答说他会考虑在 wxPython 的下一个版本中使 wxAppConsole::OnExceptionInMainLoop成为可覆盖的。由于迫不及待,我不得不编译我自己的 wxPython 版本,它不包含该函数。事实证明, 可以通过正确设置编译标志来启用/禁用wxAppConsole::OnExceptionInMainLoop函数的存在。