wxpython更改消息对话框字体?

2024-10-01 09:27:25 发布

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

Python 2.7.3 x64版本 wxPython 2.8 x64型

更改wxpython消息对话框的字体时遇到问题。我想使用固定宽度的字体(我认为wxFAMILY_MODERN是)来控制输出的格式。这是我用来测试的代码。。。在

def infDialog (self, msg, title):
    """ Display Info Dialog Message """
    font = wx.Font(14, wx.MODERN, wx.NORMAL, wx.NORMAL)
    style = wx.OK | wx.ICON_INFORMATION | wx.STAY_ON_TOP
    dialog = wx.MessageDialog(self, msg, title, style)
    dialog.CenterOnParent()
    dialog.SetFont(font)
    result = dialog.ShowModal()
    if result == wx.ID_OK:
        print dialog.GetFont().GetFaceName()
    dialog.Destroy()
    return
# End infDialog()

但当我点击OK时,结果总是“Arial”。有什么想法吗?也许我需要定制一个对话框类?在

谢谢

-RMWChaos公司


Tags: selftitlestyle字体okmsgresultdialog
2条回答

在消息对话框.wx是操作系统/系统消息对话框的包装器。我怀疑每个操作系统只允许这么多编辑,或者根本不允许。所以是的,用一种习惯wx.对话框或通用的消息对话框小部件(wx.lib.agw公司.genericmessagedialog)是字体很重要时使用的方法。在

我在互联网上到处找,发现实际上没有人花时间回答这个问题,而是告诉用户创建自己的对话类。实际上,有一种简单的方法可以让您更改消息对话框的字体。抓取对话框的textcrl对象,然后设置该对象的字体就可以了。在

只需更换:

dialog.SetFont(font)

^{pr2}$

告诉我这对你有用吗。在

相关问题 更多 >