如何使用字体选择对话框

在wxPython中,字体选择对话框与文件对话框是不同的,因为它使用了一个单独的帮助类来管理它所呈现的信息。图9.8显示了微软Windows版的字体对话框。

例9.8 显示了产生图9.8的代码,并且与前面的对话框例子看起来也有些不同。

例9.8 字体对话框

import wx

if __name__ == "__main__":
    app = wx.PySimpleApp()
    dialog = wx.FontDialog(None, wx.FontData())
    if dialog.ShowModal() == wx.ID_OK:
        data = dialog.GetFontData()
        font = data.GetChosenFont()
        colour = data.GetColour()
        print 'You selected: "%s", %d points/n' % (
                font.GetFaceName(), font.GetPointSize())
    dialog.Destroy()

图9.8


wx.FontDialog 的构造函数比前面的那些简单的多:

wx.FontDialog(parent, data)

你不能为该对话框设置一个消息或标题,并且被通常作为样式标记传递的信息被包含在data参数中,该参数是类wx.FontData。wx.FontData类自己只有一个有用的方法:GetFontData(),该方法返回字体数据的实例。

wx.FontData的实例使你能够设置管理字体对话框显示的值,并且也能够容纳用户输入的信息。例如,在例9.8中的代码调用了wx.FontData实例的两个get*方法来确定所选字体的细节。wx.FontData的构造函数没有参数——所有的属性必须通过使用表9.4中的方法来设置。

表9.4 wx.FontData的方法

GetAllowSymbols()
SetAllowSymbols(allowSymbols):
决定是否在对话框中仅显示符号字体(如dingbats)。参数是布尔值。只在Windows中有意义。该属性的初始值是True。

GetChosenFont()
SetChosenFont(font):
以wx.Font对象的方式返回用户所选的字体。如果用户选择了取消,那么返回None。wx.Font类将在第12章作更详细的讨论。

GetColour()
SetColour(colour):
返回在对话框的颜色选择部分所选的颜色。set*方法使你可以预先设定默认值。get*方法返回一个wx.Colour实例。set*方法中的colour只能是一个wx.Colour或一个颜色的字符串名。该属性的初始值是black。

GetEnableEffects()
EnableEffects(enable):
在该对话框的Windows版本中,该属性控制是否显示字体的所选颜色、中间是否有直线通过、是否带下划线等特性。

GetInitialFont()
SetInitialFont(font):
返回对话框初值的字体值(即当前所用的字体)。这个属性可以在对话框显示之前通过应用程序显式的来设置。它的初始值是None。

SetRange(min, max):设置字体尺寸(磅)的有效范围。仅用于微软的Windows系统。最初值是0~0,意味没有范围的限制。

GetShowHelp()
SetShowHelp():
如果为True,那么该对话框的微软Windows版本将显示一个帮助按钮。初始值为False。

有一个使用字体对话框的便利的函数,它回避了wx.FontData类:

wx.GetFontFromUser(parent, fontInit)

fontInit参数是wx.Font的一个实例,它用作对话框的初始值。该函数的返回值是一个wx.Font实例。如用户通过OK关闭了对话框,则方法wx.Font.Ok()返回True,否则返回False。 
 

你可能感兴趣的:(如何使用字体选择对话框)