[Python][小知识][NO.4] wxPython 字体选择对话框(O.O 不知道放到那里就放到这个分类的)

1、前言

  O.O 前两天回家浪了两天,断更了 哎~~~

  o.o 有时候,有木有想改标签或编辑框中内容的字体呀?(o.o 反正我是没有)。

  wxpython也可以说是所在的操作系统,有字体选择器,给我们使用。

  其的样式风格是一定的。o.o 自绘一个也是可以得,比如那些大软件,(o.o 我想我应该不会去这么做)

  他的调用方法和步骤都比较简单。

2、方法

  一下是一个绑定了菜单项目的一个菜单事件

  [Python][小知识][NO.4] wxPython 字体选择对话框(O.O 不知道放到那里就放到这个分类的)

  一般调用这种字体对话框的时候,基本就是上面这样的通用步骤。

  1、创建一个 字体选择对话框 对象

  2、设置 对话框 中选中的字体

    以上 3行代码 可以简化为: self.content.SetFont(dlg.GetFontData().GetChosenFont())

  3、板子完事

  PS.如果我们在 字体选择对话框中 更改字体颜色, 以下样例不支持。

    细心的童鞋坑定注意到了:我们只是设置了字体,并没有去把 data 中的颜色提取出来并进行设置。

    o.o 说了是板子,设置字体颜色 相关方法 奉上。

    获取 data 中的颜色:

    [Python][小知识][NO.4] wxPython 字体选择对话框(O.O 不知道放到那里就放到这个分类的)

    设置 字体颜色:

    哈哈  自己去查,完全伸手怎么行。

  效果图:

    [Python][小知识][NO.4] wxPython 字体选择对话框(O.O 不知道放到那里就放到这个分类的)

    [Python][小知识][NO.4] wxPython 字体选择对话框(O.O 不知道放到那里就放到这个分类的)

3、样例代码

  

 # coding: utf-8
# author: Twobox import wx class MyWin(wx.Frame):
def __init__(self, parent, title):
super(MyWin, self).__init__(parent=parent, title=title)
self.initUI()
self.Centre()
self.Show() def initUI(self):
"""init Windows UI"""
# init Windows Box
panel = wx.Panel(self)
vbox = wx.BoxSizer(wx.VERTICAL)
self.content = wx.TextCtrl(panel, style=wx.TE_MULTILINE | wx.TE_DONTWRAP)
vbox.Add(self.content, proportion=1, flag=wx.EXPAND | wx.ALL, border=5)
panel.SetSizer(vbox) # init MenuBar
menuBar = wx.MenuBar()
setMenu = wx.Menu()
fontMenuItem = wx.MenuItem(setMenu, id=11, text="字体(&F)...", kind=wx.ITEM_NORMAL)
setMenu.Append(fontMenuItem)
menuBar.Append(setMenu, title="设置(&S)")
self.SetMenuBar(menuBar)
self.Bind(wx.EVT_MENU, self.eventMenu) def eventMenu(self, event):
id = event.GetId()
if id == 11:
dlg = wx.FontDialog(self, wx.FontData()) if dlg.ShowModal() == wx.ID_OK:
data = dlg.GetFontData()
Font = data.GetChosenFont()
self.content.SetFont(Font) dlg.Destroy() def main():
app = wx.App()
MyWin(None, "FontDialog - Test")
app.MainLoop() if __name__ == '__main__':
main()

4、后言

  一个 板子而已,套着用就可以了。

  转载请注明出处 (●'◡'●):http://www.cnblogs.com/Twobox/

  2017-08-30 00:15:02 -> 2017-08-30 00:37:45

上一篇:USACO Barn Repair 【贪心算法】


下一篇:【VMware虚拟化解决方案】 基于VMware虚拟化平台VDI整体性能分析与优化