PyQt5-如何创建字体对话框(QFontDialog)
1、①导入模块,
②创建应用程序对象,
③顶层窗口对象;

2、创建必要的子控件:
①按钮控件,用于打开一个字体对话框;
②一个文本输入框。
③监听主窗口缩放,设置文本框与主窗口大小保持比例,设置按钮与文本框位置相对不变。

1、①QFontDialog类继承自QDialog类,故QDialog类的功能可被QFontDialog对象使用;
②QFontDialog控件也是个独立的窗口,但需要绑定父控件;
③为了与其他代码区分开,将有字体的关代码封装为一个函数zt(),并在setup_ui()内调用。
④创建没有QFont参数的对话框: QFontDialog(self);
⑤将按钮‘设置字体’的clicked信号连接QFontDialog的父类功能 open(函数)

2、获取当前的字体设置(当用open()函数显示对话框时):
①使用open()展示对话框时,还可以给open()函数传递一个参数 PYQT_SLOT,
②此参数是个槽函数,在关闭对话框时用selectedFont() 返回QFont对象。
③通过返回的QFont对象,获取当前选择的字体的数字。

3、设置默认字体的默认显示:
①首先要实例一个QFont对象:
②通过QFont对象,设置对话框显示的默认值。
③将对象作为一个QFontDialog(QFont, parent)
例如图例:更改上面的代码,设置默认的显示;

4、当用exec()函数显示对话框时,获取当前的字体设置:
①只要exec()的返回值是 1;也就是按了对话框的ok键关闭了对话框,selectedFont() 就能返回QFont对象。
② 通过返回的QFont对象,获取当前选择的字体的数字。
图例中:修改代码获取选中的字体属性。

5、当用show()函数显示对话框,可实时获取当前的字体设置时:
①弹窗字体选择改变时会发出 currentFontChanged(self, QFont) 信号,传递QFont信息。
②用 对话框的 currentFont()函数,赋值给参数QFont,即可获取当前选中的字体属性。
如图例:
----将信号 currentFontChanged连接一个自定义的槽函数,change(self,font);参数font 是向外传递的QFont对象。
----将选中的当前字体currentFont()赋值给参数font;
----通过QFont的各种方法获取字体属性。
----每次改变选中的字体,都能被获取。

1、通过 控件对象的 setFont(self, QFont) 方法可以设置字体的QFontDialog内的所有属性;
----上面例中都有 QFont对象。所以,设置就非常简单。
图例中 给 文本框对象,setFont()即可。

2、使用 exex() 显示对话框时,
①同样要获取 currentFont() 对象。setFont()即可。
②需要在点击对话框 ok后,关闭对话框,才能改变。

3、使用 open() 显示对话框时,
①同样要获取 currentFont() 对象。setFont()即可。
②需要在点击对话框 ok后,关闭对话框,才能改变。
