PyQt5:QFontDialog字体对话框(21)

学习《PyQt4入门指南 PDF中文版.pdf 》笔记


字体对话框一个用来设置字体的对话框部件

<span style="font-size:12px;">#!/usr/bin/python
# fontdialog.py

from PyQt5.QtWidgets import QApplication, QPushButton, QFontDialog,  QHBoxLayout, QLabel
from PyQt5 import QtWidgets
from PyQt5.QtCore import Qt

class FontDialog(QtWidgets.QWidget):
    def __init__(self, parent= None):
        QtWidgets.QWidget.__init__(self)
  
        hbox = QHBoxLayout()
        
        self.setGeometry(300, 300, 150, 110)
        self.setWindowTitle('FontDialog')
        
        button = QPushButton('Dialog', self)
        button.setFocusPolicy(Qt.NoFocus)
        button.move(20, 20)
        
        hbox.addWidget(button)
        button.clicked.connect(self.showDialog)
        self.label = QLabel('knowledge only matters', self)
        self.label.move(130, 20)
        
        hbox.addWidget(self.label, 1)
        self.setLayout(hbox)
        
    def showDialog(self):
            font, ok = QFontDialog.getFont()
            if ok:
                self.label.setFont(font)
        

if __name__ == "__main__":
    import sys
    app = QApplication(sys.argv)
    qb = FontDialog()
    qb.show()
    sys.exit(app.exec_())</span>

         在本示例中,我们在主界面中显示了一个按钮和一个标签。单击按钮后,用户可在弹出字体对话框中选择字体来修改标签中的字体样式。

         hbox.addWidget(self.label,1)

         该语句将label标签添加到hbox布局中,并通过第二个参数1设置label的大小时可变的。该设置是必须的,因为在用户选择不同的字体时,label标签中的字体可能会变大,若不进行设置,标签中的内容就可能不会被全部显示。

         font,ok = QFontDialog.getFont()

         该语句类似刚才的输入对话框,创建弹出对话框。

         if  ok:

                self.label.setFont(font)

         在用户选择了字体并单击OK按钮后,使用标签对象的setFont方法设置label内的字体。


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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值