码迷,mamicode.com
首页 > 其他好文 > 详细

PyQt4字体对话框QFontDialog

时间:2016-04-05 14:02:39      阅读:156      评论:0      收藏:0      [点我收藏+]

标签:

字体对话框时用来显示字体的对话框部件。

#!/usr/bin/python
# -*- coding: utf-8 -*-

import sys
from PyQt4 import QtGui, QtCore 

class FontDialog(QtGui.QWidget):
    def __init__(self, parent = None):
        QtGui.QWidget.__init__(self)
        hbox = QtGui.QHBoxLayout()
        self.setGeometry(300, 300, 250, 110)
        self.setWindowTitle(Font Dialog)
        button = QtGui.QPushButton(Dialog, self)
        button.setFocusPolicy(QtCore.Qt.NoFocus)
        button.move(20, 20)
        hbox.addWidget(button)
        self.connect(button, QtCore.SIGNAL(clicked()), self.showDialog)
        self.label = QtGui.QLabel(moonlight poet, work hard to gain a better life, self)
        self.label.move(130, 20)
        hbox.addWidget(self.label, 1)
        self.setLayout(hbox)
        
    def showDialog(self):
        font, ok = QtGui.QFontDialog.getFont()
        if ok:
            self.label.setFont(font)
    
app = QtGui.QApplication(sys.argv)
fd = FontDialog()
fd.show()
sys.exit(app.exec_())

效果:

技术分享

技术分享

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

        hbox.addWidget(button)

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

        font, ok = QtGui.QFontDialog.getFont()

该语句将弹出字体对话框。

        if ok:
            self.label.setFont(font)

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

PyQt4字体对话框QFontDialog

标签:

原文地址:http://www.cnblogs.com/moonlightpoet/p/5354648.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!