在wxPython中显示“&”符号时程序崩溃

2024-03-28 15:18:44 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在Windows7 32位机器上使用PythonV2.7和WxPythonV3.0。 在我的应用程序中,我想显示&符号。你知道吗

问题:如果我试图显示这个&符号,我的程序会立即崩溃。所有其他符号都可以毫无问题地显示出来。你知道吗

crash-screenshot

下面是一个示例代码

# -*- coding: utf-8 -*-
import wx
class mainClass(wx.Frame):
    def __init__(self):
        wx.Frame.__init__(self, None, wx.ID_ANY, "Test v1.0", style = wx.DEFAULT_FRAME_STYLE,size=(400,300))
        mainPanel = wx.Panel(self, -1)
        wx.StaticText(mainPanel, -1, u'\x25')# This is '%' symbol
        wx.StaticText(mainPanel, -1, u'\x26')# This is '&' symbol

if __name__=='__main__':
    app = wx.App()
    frame = mainClass().Show()
    app.MainLoop()

如果你把这个wx.StaticText(mainPanel, -1, u'\x26')注释掉,这个程序运行得很好。你知道吗

问题原因是什么?如果有人能在他/她的系统上测试并报告,我将不胜感激!谢谢。你知道吗

对unicode符号表的引用。http://www.utf8-chartable.de/unicode-utf8-table.pl?utf8=0x


Tags: selfappinitisunicode符号utf8this
1条回答
网友
1楼 · 发布于 2024-03-28 15:18:44

这段代码在kubuntu14.0464位、wxpython2.8.12和python2.7上运行。不过,这并不是说您没有指定两个StaticText小部件的位置,所以它们只是堆叠在彼此的顶部。您应该指定它们的位置或使用大小调整器。你知道吗

另外,如果您只想显示一个与号(“&;”),则可以执行以下操作:

import wx
class mainClass(wx.Frame):
    def __init__(self):
        wx.Frame.__init__(self, None, wx.ID_ANY, "Test v1.0", style = wx.DEFAULT_FRAME_STYLE,size=(400,300))
        mainPanel = wx.Panel(self, -1)

        wx.StaticText(mainPanel, -1, "&&")# This is '&' symbol

if __name__=='__main__':
    app = wx.App()
    frame = mainClass().Show()
    app.MainLoop()

常规ASCII字符不需要使用unicode规范。你知道吗

相关问题 更多 >