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

这篇博客介绍了如何在Python的wxPython库中使用字体选择对话框,提供了一个简单的菜单事件绑定示例,展示了如何改变文本控件的字体。虽然示例不涉及设置字体颜色,但提到了相关方法。
摘要由CSDN通过智能技术生成

1、前言

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

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

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

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

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

2、方法

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

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

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

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

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

3、板子完事

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

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

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

获取 data 中的颜色:

设置 字体颜色:

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

效果图:

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、后言

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

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

[Python][小知识][NO.2] Python 字符串跨行连接,或拆分为多行显示

1.前言 又是一个字符串很长,但又是一种格式的小字符串直接连接而成的大字符串. 这么我们拆成多行,即美感,又易于我们修改. 例如 文件选择框中的 通配符: wildcard = "Pytho ...

5个有趣的Python小知识,结果令人意外

1 字符串驻留 如果上面例子返回True,但是下面例子为什么是False: 这与Cpython 编译优化相关,行为称为字符串驻留,但驻留的字符串中只包含字母,数字或下划线. 2 相同值的不可变对象 这 ...

python 小知识

PYTHONPATH是Python搜索路径,默认我们import的模块都会从PYTHONPATH里面寻找. 使用下面的代码可以打印PYTHONPATH: print(os.sys.path) impr ...

[Python][小知识][NO.5] 使用 Pyinstaller 打包成.exe文件

1.安装 pyinstaller 插件 cmd命令:pip install PyInstaller PS . o.o 不知道 easy_install 的百度吧. 2.pyinstaller 简介 他 ...

Python 小知识 杂七杂八 随手记

1.assert 断言语句 例1:    print ‘11111111111’ assert 1==2 print ‘22222222’ 如果没有 assert 程序会输出  ‘1111111111 ...

python小知识- webbrowser模块 + join()方法

一.join描述 将序列中的元素以指定的字符连接生成一个新的字符串. 语法 语法: ‘sep’.join(seq) 参数说明: sep:分隔符.可以为空 seq:要连接的元素序列.字符串.元组.字典 ...

python小知识-sys.argv

sys.argv 就是一个从程序外部获取参数的桥梁 1.t1.py import sys a = sys.argv b = len(sys.argv) print(a) print(b) 在pytho ...

随机推荐

Java图形化用户界面(GUI)笔记(一)介绍

一.布局 1.组件 以图形化的方式显示在屏幕上的,和用户进行交互的对象,就叫做组件. 组件包括:菜单.标签.文本框(密码框).滚动条.单选.复选.按钮等等. 2.容器 组件不能独立的显示出来,只能将组 ...

基于LR的数据库性能测试

web services协议 在LR的web services协议中提供了如下函数进行数据库的连接和执行sql语句,以实现对数据库的性能测试,也可以实现向数据库中自动生成批量数据. lr_db_dis ...

adb连接不上手机

昨天电脑重装了系统,今天打开之前的eclips工作环境,点击run as -> android application,一直报各种诡异的错误,总之就是连接不上手机. 其中包括 Adb conne ...

【转】Android 实现“再按一次退出程序”

From:http://blog.csdn.net/ldj299/article/details/7574365 个人觉得当用户按下后退键时,出现"再按一次退出"的提示防止误操作比 ...

如何在WINDOWS下编译BOOST C++库 .

如何在WINDOWS下编译BOOST C++库 cheungmine 2008-6-25   写出来,怕自己以后忘记了,也为初学者参考.使用VC8.0和boost1.35.0.   1)下载boost ...

cocos2dx-lua绑定自定义c++类(二)

在 cocos2dx-lua绑定自定义c++类(一)中介绍了如何产生绑定文件. 现在,来看看怎么在工程里使用这个cpp文件.像普通源码文件一样,导入到工程里,看到 LuaTest.h文件里有一个函数入 ...

Android中view的事件

view:top.left.right.bottom,相对于parent的位置参数,获取通过get*()来获取.width=right-left.height=bottom-top.x=left+tr ...

tcpdump使用技巧

tcpdump使用技巧 http://www.veryarm.com/1751.html

推荐几个好的 Maven 常用仓库网址

注意,以下内容转载自:推荐几个好的 Maven 常用仓库网址 Maven 确确实实是个好东西,用来管理项目显得很方便,但是如果是通过 Maven 来远程下载 JAR 包的话,我宿舍的带宽是4兆的,4个 ...

Js实现继承的方法

原型的作用:1.将公共部分放入原型中,这样构造出的多个实例对象的公共部分只会占用一个公共空间,实现数据共享和节省内存空间 2.通过原型实现继承:构造函数模拟 "类"这个面向对象的概 ...

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值