wxpython更改消息对话框字体?
Python 2.7.3 x64 wxPython 2.8 x64 更改wxpython消息对话框的字体时遇到问题。我想使用固定宽度字体(我认为wxFAMILY_MODERN是)来控制输出的格式。这是我用来测试的代码wxpython更改消息对话框字体?,python,fonts,wxpython,messagedialog,Python,Fonts,Wxpython,Messagedialog,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 =
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”。有什么想法吗?也许我需要创建一个自定义对话框类
谢谢
-RMWChaoswx.MessageDialog是操作系统/系统消息对话框的包装器。我怀疑每个操作系统只允许这么多的编辑,或者根本不允许。是的,如果字体很重要,那么使用自定义wx.Dialog或通用消息对话框小部件(wx.lib.agw.genericmessagedialog)是一个不错的选择。我在互联网上到处寻找,发现没有人真正花时间回答这个问题,而只是告诉用户创建自己的对话框类。实际上,有一种简单的方法可以让您更改消息对话框的字体。抓取对话框的textCtrl对象,然后设置该对象的字体就可以了 只需替换:
dialog.SetFont(font)
与
让我知道这是否适合您。我也在考虑检查高级通用小部件。谢谢你的回复!
txt_ctrl = dialog.text
txt_ctrl.SetFont(font)