当前位置:首页 > 实用技巧 >

哪个对话框能设置文字样式(怎么修改对话框的默认模板)

来源:原点资讯(www.yd166.com)时间:2023-10-29 18:10:21作者:YD166手机阅读>>

实战wxPython系列-020

哪个对话框能设置文字样式,怎么修改对话框的默认模板(1)

wx.FontDialog提供一个可以进行字体选择的对话框,它继承自wx.Dialog,是wxPython内建的通用对话框。它可以让用户选择所显示的文本的字体类型, 字号大小、样式,格式以及字体的颜色等。通过wx.FontDialog对话框可以通过GUI界面交互方式对文本的外观显示进行精细的调整。

一、wx.FontDialog简介

字体选择对话框类wx.FontDialog提供了对字体各种外观属性的选择,包括:

  • 字体: 选择文本的字体;
  • 字形: 包括常规, 斜体,粗体,粗斜体几种选择;
  • 大小: 字的大小设置;
  • 效果: 包括删除线和下划线两种效果;
  • 颜色: 选择字体要设置的颜色。

wx.FontDialog常用方法有:

  • GetFontData(self): 返回与字体选择对话框相关的数据(wx.fontData),该数据包含了字体属性数据和字体颜色数据等。
  • ShowModal(self): 显示对话框,如果点击了wx.OK按钮则返回wx.ID_OK,否则返回wx.ID_CANCEL。

哪个对话框能设置文字样式,怎么修改对话框的默认模板(2)

图1:wx.FontDialog类继承关系

二、wx.FontData

wx.FontData保存wx.FontDialog的各种信息,它的常用方法有:

  • GetChosenFont(self): 获取用户点击wx.OK(wx.FontDialog.ShowModal返回wx.ID_OK)后所选择的字体信息。
  • GetColour(self): 获取在字体选择对话框中选择的颜色值,缺省值为黑色。
  • GetEnableEffects(self): 获取是否启用或禁用“效果”选项设置,缺省值为启用。
  • GetInitialFont(self): 获取字体选择对话框设置的初始字体。
  • EnableEffects (self, enable): 启用或禁用“效果”选项,仅在Windows或者通用情况下有效。
  • SetAllowSymbols(self, allowSymbols): 在Windows下,确定是否可以选择符号字体。在其他平台该设置无效,其缺省值为True。
  • SetChosenFont (self, font): 设置将返回给用户的字体(仅供内部使用)。
  • SetColour (self, colour): 设置将用于字体前景色的颜色,缺省值为黑色。
  • SetInitialFont (self, font): 设置字体对话框最初使用的字体。
  • SetRange (self, min, max): 设置字体大小的有效范围(仅限Windows)。

三、wx.FontDialog示例

以下的代码演示如何使用wx.FontDialog。

#字体选择对话框(FontDialog) import wx class SampleFontDialog(wx.Frame): def __Init__(self, *args, **kw): super(SampleFontDialog, self).__init__(*args, **kw) self.InitUi() def InitUi(self): #设置标题 self.SetTitle("实战wxPython: 字体选择对话框") #设置窗口尺寸 self.SetSize(480, 360) vSizer = wx.BoxSizer(wx.VERTICAL) btnTest = wx.Button(self, -1, "调整字体") btnTest.Bind(wx.EVT_BUTTON, self.OnSetFont) self.label_text = wx.StaticText(self, -1, style=wx.TE_MULTILINE, size = (-1, 300)) self.label_text.SetLabel("实战wxPython: \n测试wx.FontDialog") self.label_text.SetFont(wx.Font(wx.FontInfo(20))) vSizer.Add(btnTest, wx.ID_ANY, wx.EXPAND|wx.ALIGN_TOP) vSizer.Add(self.label_text, wx.ID_ANY, wx.ALL|wx.ALIGN_CENTER_HORIZONTAL, 40) self.SetSizer(vSizer) self.Centre() def OnSetFont(self, e): dlg = wx.FontDialog(self) if dlg.ShowModal() == wx.ID_OK: data = dlg.GetFontData() new_font = data.GetChosenFont() new_color = data.GetColour().Get() self.label_text.SetFont(new_font) self.label_text.SetForegroundColour(new_color) dlg.Destroy() def main(): app = wx.App() sample = SampleFontDialog(None) sample.Show() app.MainLoop() if __name__ == "__main__": main()

运行上面的代码,在Windows系统下,其界面如图2:

哪个对话框能设置文字样式,怎么修改对话框的默认模板(3)

图2:wx.FontDialog对话框演示

当我们点击”调整字体”按钮后, 将弹出字体选择对话框,如图3所示:

哪个对话框能设置文字样式,怎么修改对话框的默认模板(4)

图3:字体选择对话框

在字体对话框上,选择我们需要设置的字体信息,如图3,我们选择字体为”Consolas”,字形为”粗斜体”,大小为”24”,效果为”下划线”, 颜色为”青色”。点击确定按钮,退出字体选择对话框,回到主窗口,最终效果如图4:

哪个对话框能设置文字样式,怎么修改对话框的默认模板(5)

图4:字体调整效果演示

可以看到,通过获得字体选择对话框选择的字体信息,我们改变了演示字体的外观。

当我们点击字体选择对话框的”确定”按钮后,wx.FontDialog对话框的ShowModal方法返回wx.ID_OK,执行下面的语句:

data = dlg.GetFontData()

获取字体信息数据

new_font = data.GetChosenFont()

获取所选择的字体

new_color = data.GetColour().Get()

获取字体的前景色

self.label_text.SetFont(new_font)

设置新的字体

self.label_text.SetForegroundColour(new_color)

设置新的字体颜色

四、wx.GetFontFromUser

调用wx.GetFontFromUser全局方法,可以弹出一个字体选择对话框,该方法的函数原型为:

wx.GetFontFromUser(parent, fontInit,caption)

参数:

parent:父窗口

fontInit:初始字体

caption:窗口标题, 默认EmptyString

调用方法:

font = wx.GetFontFromUser(self, wx.NullFont)

上述代码将弹出一个字体选择对话框,当关闭对话框时,将返回一个wx.Font类型的数据值。

五、本文知识点

  • 了解颜色选择对话框wx.FontDialog。
  • 了解wx.FontData。
  • 使用字体选择对话框修改文字的字体。
  • 调用wx.GetFontFromUser全局方法。

前一篇:

请关注,评论,收藏,点赞,和转发。

栏目热文

设置文本效果格式对话框在哪(怎么迅速打开格式对话框)

设置文本效果格式对话框在哪(怎么迅速打开格式对话框)

Word的查找替换功能非常的强大,可以非常轻松、灵活的对文档中的文本进行批量的选择、替换,而且不仅可以选择字符,还可以对...

2023-10-29 17:55:53查看全文 >>

使用字体对话框可以完成哪些设置(字体对话框能设置效果吗)

使用字体对话框可以完成哪些设置(字体对话框能设置效果吗)

简介:大家知道,字体对话框中可以设置字体、字号、字形、下划线等,打开字体对话框有两种常见的方式,下面给大家介绍一下。如图...

2023-10-29 17:33:29查看全文 >>

什么对话框来设置文字的(怎么修改对话框文字)

什么对话框来设置文字的(怎么修改对话框文字)

在Qt中,可以使用消息对话框来向用户显示一些提示信息,例如警告、错误、确认等。要使用消息对话框,可以遵循以下步骤:在Qt...

2023-10-29 17:36:39查看全文 >>

字体对话框中可以设置文字效果吗(字体对话框能改效果吗)

字体对话框中可以设置文字效果吗(字体对话框能改效果吗)

单选题(共15题,每题5分)1 . 在PowerPoint中,创建新的幻灯片时出现的虚线框称为(  )。A.占位符B.文...

2023-10-29 18:10:42查看全文 >>

怎么打开设置文本效果对话框(对话框怎么设置文字)

怎么打开设置文本效果对话框(对话框怎么设置文字)

Excel中,最重要的内容就是单元格,设置【单元格格式】的频率非常高。一、主要用途: 1、数据类型:设置单元格的内容是字...

2023-10-29 18:02:54查看全文 >>

不属于文字效果对话框中的效果(设置文本效果使用什么对话框)

不属于文字效果对话框中的效果(设置文本效果使用什么对话框)

15个使用频率超高的word技巧,总有一个你会用得上!转操作步骤如下:15个使用频率超高的word技巧,希望可以帮到大家...

2023-10-29 18:22:13查看全文 >>

设置文本框格式对话框在哪(对话框中的文本框可以干什么)

设置文本框格式对话框在哪(对话框中的文本框可以干什么)

应用场景下面图1幻灯片中,最底层为蓝色的幻灯片背景;中间层为无填充、白色轮廓的矩形;最上层为无填充、无轮廓的文本框,文本...

2023-10-29 17:46:50查看全文 >>

在字体对话框中设置哪些效果(字体的文字效果在哪个对话框设置)

在字体对话框中设置哪些效果(字体的文字效果在哪个对话框设置)

我们在编辑文档的过程中,除了调整段落来展示文本效果以外,最常用、几乎每个文档都会用到的功能就是调整字体效果,其中最为大家...

2023-10-29 17:45:27查看全文 >>

如何设置段落对话框(如何打开段落设置对话框)

如何设置段落对话框(如何打开段落设置对话框)

一、字体格式的设置字体格式的设置主要包括字体的主题、字号大小、加粗、字符间距等操作。1 字体的主题首先选中需要修改字体的...

2023-10-29 17:59:55查看全文 >>

怎么设置对话框弹出效果(如何把隐藏的对话框调出来)

怎么设置对话框弹出效果(如何把隐藏的对话框调出来)

在DeWeb中弹出对话框有以下几种方式:1、dwShowMessage (消息框)功能:弹出一个对话框,点击“OK”后继...

2023-10-29 18:06:41查看全文 >>

文档排行