欢迎访问宙启技术站
智能推送

PySide2.QtWidgets中的字体选择器

发布时间:2023-12-25 17:49:59

在PySide2中,可以使用QFontDialog来创建一个字体选择器对话框。字体选择器对话框允许用户选择所需的字体、样式和大小。

下面是一个使用字体选择器的简单示例:

import sys
from PySide2.QtWidgets import QApplication, QMainWindow, QPushButton, QLabel, QFontDialog

class MainWindow(QMainWindow):
    def __init__(self):
        super().__init__()

        self.resize(300, 200)
        self.button = QPushButton("选择字体", self)
        self.button.setGeometry(100, 80, 100, 30)
        self.button.clicked.connect(self.showFontDialog)

        self.label = QLabel("Hello, World!", self)
        self.label.setGeometry(50, 50, 200, 30)

    def showFontDialog(self):
        font, ok = QFontDialog.getFont(self.label.font(), self, "选择字体")
        if ok:
            self.label.setFont(font)

if __name__ == "__main__":
    app = QApplication(sys.argv)

    mainWindow = MainWindow()
    mainWindow.show()

    sys.exit(app.exec_())

在上面的示例中,我们创建了一个QMainWindow窗口,并在窗口中添加了一个QPushButton和一个QLabel。按钮绑定了一个点击事件showFontDialog,当点击按钮时,会弹出一个字体选择器对话框。如果用户选择了合适的字体并点击确认按钮,那么QLabel的字体就会被修改为用户选择的字体。

在showFontDialog方法中,我们使用QFontDialog.getFont来获取字体选择器的选择结果。 个参数是QLabel当前的字体,第二个参数是对话框的父对象,第三个参数是对话框标题。getFont方法返回一个元组, 个元素是用户选择的字体,第二个元素是一个布尔值,表示用户是否点击了确认按钮。

在示例中,我们将用户选择的字体设置给QLabel,以实时更新标签的字体。