- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我们在使用 wxPython 加载文件时遇到了问题,用例是我们将这些文件/片段放在计算机上的文件夹中。片段是原始 html 文件的一小部分 - 很多时候片段是提取的表格,表格周围包含 html 和 body 标签
<html><body><table>
~tr and td tags with stuff in them
</table></body><<html>
用户使用 SmartBrowser(我们的应用程序)导航到该文件夹,然后该文件夹会列出该文件夹中的 htm 和 txt 文件并显示第一个文件。我们有控件可以在列表中移动(下一个和上一个)
该系统多年来一直运行良好,几乎没有出现任何故障。突然间,当加载某些片段时,SmartBrowser(允许查看片段的应用程序的名称)开始崩溃。我最终隔离了问题,确定发生了崩溃
如果我只是将宽度属性更改为一些无意义的单词(例如香蕉),那么一切都会正常显示,并且程序不会崩溃,但如果存在宽度属性,则运行尝试的命令控制台中会显示以下错误消息调试
你好,沃尔
Traceback (most recent call last):
File "gui\smart_browser.pyo", line 286, in onOpen
File "gui\smart_browser.pyo", line 219, in browseTo
File "gui\smart_browser.pyo", line 170, in update
File "gui\smart_browser.pyo", line 231, in loadUrl
File "wx\html.pyo", line 1008, in LoadPage
wx._core.PyAssertionError: C++ assertion "(size_t)(n) <= length()" failed at ..\
..\include\wx/string.h(433) in wxStringBase::at(): invalid index in wxString
让我再次强调 - 这种行为最近才出现 - 我们已迁移到 WxPython 2.9,但回滚到 2.8,看看这是否是原因,但我们没有看到任何行为差异。
于是我在wx\html.py的错误信息中找到了该函数
def LoadPage(*args, **kwargs):
"""LoadPage(self, String location) -->bool"""
return _html.HTMLWindow_LoadPage(*args, **kwargs)
但是我看到程序是从 _html 导入的,请原谅我,但现在看起来我有点不知所措,因为 _html
是一个 pyd
文件 -这似乎是一种dll
?
我不知道下一步该怎么做,因为我无法弄清楚为什么 WIDTH 属性会导致我在 WxWidgets
网站上浏览的错误,而且我似乎找不到任何证据表明这种组合将会是一个问题。我不确定接下来应该看什么。
具体来说,我正在寻找有关我需要阅读哪些内容来解决此问题的建议,并且可能表明我们应该在 Wx
之外处理此问题或进入 Wx
对于像我这样有技能的人来说,这似乎很可怕。
好吧,我将根据 Mike Driscoll 的回答添加更多内容,代码确实有这个
try:
from wx.lib.iewin import IEHtmlWindow as HtmlWindow
LOAD_URL_FUNC_NAME = 'LoadUrl'
GET_URL_PROPERTY_NAME = "locationurl"
except:
from wx.html import HtmlWindow
LOAD_URL_FUNC_NAME = 'LoadPage'
GET_URL_PROPERTY_NAME = "OpenedPage"
他是完全正确的,我注释掉了条件导入,经过更多研究后确定我需要
from wx.lib.iewin_old import IEHtmlWindow as HtmlWindow
注意iewin_old,我以为我们正在使用IEHtmlWindow,但我们没有使用IEHtmlWindow,因为当我转到iewin_old时解决了导入错误
最佳答案
我无法从您显示的一小段代码中确定,但我猜测您正在使用 HTMLWindow。 HTMLWindow 小部件仅适用于一组有限的 HTML 标记,因此我猜测它对该属性不满意。我怀疑你基本上有两个选择:
您还可以在 wxPython Google 群组/用户列表中询问其他建议。
关于python - 接下来我应该阅读什么代码来确定 wx._core.PyAssertionError 的原因,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19937783/
我是 Python 和 WX 的新手。我创建了一个简单的测试对话框,如下所示,用组合框提示用户。我想从我的主程序中的组合框中获取值。我如何从我的主程序中调用它? 这就是我打算调用它来显示对话框但当前不
我已经在框架内创建了 wx.Grid 小部件,如果用户正在使用网格小部件,我想更改光标类型。我已经成功地使用 wx.StockCursor 和 .SetCursor 方法 做到了这一点,但是如果用户将
我想知道如何从 wx 笔记本的一页到另一页获取变量。我在想,如果我知道变量名和页面 ID,应该有某种方法可以引用变量。例如,如果我有以下代码,我将如何从面板 y 引用变量 x,反之亦然 import
我需要使用 wx.Textvalidator 验证文本框。有什么可以帮我做这个吗? 我如何将 wx.FILTER_ALPHA 与验证器一起使用,如果用户输入错误,我该如何给他们消息? 我需要在点击保存
我的印象是面板更好。真的吗? 一个比另一个有什么优势?有什么理由使用一个而不是另一个? 最佳答案 wx.Window 是所有小部件的基类(不一定是所有 windows - 这个名字有误导性)。 wx.
我有一个 wx.ListCtrl 设置了 wx.LC_REPORT 位。它有 3 列。我希望在第一列中为每个其他条目填充一个复选框。我尝试使用 ListCtrl.InsertItem 方法,但它只需要
./configure 运行时返回错误消息: wx:无法链接wx驱动程序,wx将无法使用 当我运行.\configure | grep wx,日志如下: configure: configuring
你好,我想在静态框内绘制一些彩色线条,我使用了 onpaint 方法,但线条没有出现在静态框内,然后我尝试创建一条静态线,这有效但我无法更改静态线的颜色。有没有其他方法可以使用 onpaint 方法或
wx.PyControl 可以包含 wx.Sizer 吗? 请注意,我最终在这里尝试做的事情(具有浮点值的微调器)已经在另一个问题中得到了回答。我对在 wx.PyControl 中布局小部件特别感兴趣
派生类有一个小问题,即 wx.ListItem 和 wx.ListCtrl。我成功地将 wx.ListItem 派生为 MediaItem,代码还没有完成,但你明白了: class MediaItem
我正在用 wxPython 开发一个 GUI。我在另一个代表 CD 容器对象的正方形(也有 wxPanel 类)内绘制一个代表 CD 对象的正方形。我想在 CDWindow 的右键菜单中有“删除这张
使用 wx.lib.newevent.NewEvent() 和使用 wx.NewEventType() 和 wx.PyCommandEvent() 有什么区别?下面的代码示例使用两种不同的方式来创建事
我有一个 python 应用程序,我从 here 得到的并根据我的需要进行修改,但我想将我用于图标的图像放在脚本中,我知道可能存在性能问题但目前这不是问题,我需要的只是将所有文件放在一个文件中,这样我
我有一个 wx.Frame,其中有一个主 wx.Panel,里面有几个小部件。我想要那里的一个按钮导致出现“帮助面板”。这个帮助面板可能是一个 wx.Panel,我希望它覆盖整个主 wx.Panel(
我有一个关于如何在 (style = wx.LC_REPORT) 模式下使用 wx.ListCtrl 的教程,但我只使用一列: self.InsertColumn(0, "Item") 我怎样才能:
self.sizer.Add(self.listBox, proportion=0, flag=wx.TOP | wx.LEFT, border=75) BOTTOM 和 LEFT 的边框是 75,我
我想要一个 python 图形用户界面,它可以从文件中加载不同的图像。我见过许多使用以下代码加载图像的示例: img = wx.Image("1.jpg", wx.BITMAP_TYPE_ANY, -
背景:我正在编写一个模块来创建带有多个进度条(0-5)的自定义启动屏幕。初始屏幕可以以多种模式显示(全屏无帧、带/不带帧的屏幕百分比或带/不带帧的固定大小),并且可以容纳 0-5 个链接的进度表。进度
我刚刚在我的 mac 上安装了最新稳定版的 wxWidget,并尝试编译 hello world 教程中的代码。这是导致错误的代码: #include ' #ifndef WX_PRECOMP #in
当我编译我的项目时: ---------------------------------------------------------------------- wxFlasher configur
我是一名优秀的程序员,十分优秀!