PyQt(Python+Qt)学习随笔:使用QFontDialog.getFont交互设置应用或部件的字体

PyQt中的部件只要是QWidget的派生类都可以在Designer或应用中直接设定字体,但如果我们需要最终用户自己设置字体怎么办?其实PyQt提供了很方便的字体设置对话框类QFontDialog,应用可以在需要最终用户设置字体的地方,使用QFontDialog来创建一个对象,然后通过selectedFont就可以返回用户的选择字体。另外还提供了一个非常便利的类方法,实例都无需创建直接使用即可,这个方法就是getFont。

调用语法

  • getFont(QFont font, parent: QWidget = None, caption: str = ‘’, options: QFontDialog.FontDialogOptions())
  • getFont(parent: QWidget = None) -> Tuple[QFont, bool]
说明:
  • 本调用语法与Qt的调用语法差异比较大
  • 参数font为初始字体,当点击cancel按钮时直接返回该值
  • 参数parent为父窗口,可以为None
  • 参数caption为对话框的title显示信息
  • 返回值为一个元组Tuple,元组中包括两个元素font和confirm,font是选择的字体,confirm是选择确认,当为True时表示点击对话框的OK按钮返回,为False时点击的是Cancel按钮返回,是否需要判断confirm值是否为True时才使用font的值去设置字体需要看应用的要求

代码案例:

font = self.edit.font()
font,changed = QtWidgets.QFontDialog.getFont(font,self,"字体设置")
if changed:  self.edit.setFont(font)

老猿Python,跟老猿学Python!

原文地址:https://www.cnblogs.com/LaoYuanPython/p/12634964.html