继承QDialog
主要处理文字信息的对话框
目录
5.1 设置或取消选项 setOption(QFontDialog.FontDialogOption,bool)
6.1 当前选择的字体改变时触发 currentFontChanged
1 构造函数
可以直接给一个父对象创建
也可以额外放一个QFont
2 打开对话框
2.1 open(PYQT_SLOT)
open括号内的参数是槽函数
如果我们在open中加入槽函数
我们在点击OK后会触发指定的槽函数
2.2 exec()
会返回一个整形数据
点OK返回1,点取消返回0,点右上角的叉也返回0
3 最终选中字体 selectedFont()
该方法会返回一个QFont
一般我们是配合槽函数使用的
弹出对话框后选择OK
4 当前字体
4.1 设置 setCurrentFont()
4.2 获取 currentFont()
会返回当前的QFont对象
我们如果要实时的获取还是要放在槽函数中
后面讲信号的时候会有一个字体改变的信号
5 选项控制
以上涉及到一个参数QFontDialog.FontDialogOption,它可以是以下的值
- QFontDialog.NoButtons 不显示 确定 和 取消 按钮
- QFontDialog.DontUseNativeDialog 不使用默认对话框
- QFontDialog.ScalableFonts 显示可缩放字体
- QFontDialog.NonScalableFonts 显示不可缩放字体
- QFontDialog.MonospacedFonts 显示等宽字体
- QFontDialog.ProportionalFonts 显示比例字体
5.1 设置或取消选项 setOption(QFontDialog.FontDialogOption,bool)
我们先设置不显示 确定 和 取消 按钮
之后我们再设置不使用默认对话框
我们先看一下原来的样子
经测试这个选项在windows中没有什么变化
其余四个选项都是对字体的列表进行操作,就不一个一个试了
如果第二个参数为False则不会生效
5.2 批量设置选项 setOptions()
5.3 测试某个选项是否生效 testOption()
我们测试是否取消两个按钮选项是否生效
5.4 获取当前生效的选项 options()
会返回一个FontDialogOptions对象
6 信号
6.1 当前选择的字体改变时触发 currentFontChanged
会传递一个字体对象
初始状态是这样的
我们现在选择它的下一个字体
点击OK后会再次触发该信号
6.2 最终选择字体后触发 fontSelected
会传递一个字体对象
运行后直接点击OK
7 静态方法 getFont()
静态方法不需要实例化
我不用创建对象,直接用
运行后直接弹出选择字体对话框,此时没有显示后面的窗口
我们直接点击OK
点击后窗口显示出来了
如果选中之后点击Cancel或右上角的叉就是False
我们在这个函数中加入其他参数以调整该对话框
- 默认字体
- 父控件
- 对话框标题
- 选项
这个例子中,默认字体是 华文彩云,父对象是 窗口,标题是 这是一个字体对话框,选项设为没有按钮
运行后窗口并没有出来
由于没有按钮,我们点击右上角的叉
这个时候窗口出来了