PySide6 GUI 编程(30):其他常见对话框

2024-08-21 11:20:17 浏览数 (3)

其他常见的对话框

  • QErrorMessage
  • QColorDialog
  • QFontDialog

示例代码

代码语言:python代码运行次数:0复制
from __future__ import annotations

import sys

from PySide6.QtWidgets import QApplication, QColorDialog, QErrorMessage, QFontDialog, QMainWindow, QPushButton, QVBoxLayout, 
    QWidget


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

        self.setWindowTitle('其他对话框展示效果')

        # 创建一个按钮
        error_msg_button = QPushButton('错误信息', self)
        error_msg_button.clicked.connect(self.show_error_message)

        # 创建一个按钮
        color_button = QPushButton('选择颜色', self)
        color_button.clicked.connect(self.show_color_dialog)

        font_button = QPushButton('选择字体', self)
        font_button.clicked.connect(self.show_font_dialog)

        v_layout = QVBoxLayout()
        v_layout.addWidget(error_msg_button)
        v_layout.addWidget(color_button)
        v_layout.addWidget(font_button)

        container = QWidget()
        container.setLayout(v_layout)

        self.setCentralWidget(container)

    def show_error_message(self):
        # 创建一个 QErrorMessage 对话框
        error_message = QErrorMessage(self)
        error_message.setModal(True)
        error_message.setWindowTitle('错误信息')
        error_message.showMessage('内部错误!!!')

    def show_color_dialog(self):
        # 创建一个 QColorDialog 对话框
        color_dialog = QColorDialog(self)
        color_dialog.setWindowTitle('选择颜色')

        if color_dialog.exec():
            chosen_color = color_dialog.selectedColor()
            print('选择的颜色:', chosen_color.name())

    def show_font_dialog(self):
        # 创建一个 QFontDialog 对话框
        font_dialog = QFontDialog(self)
        font_dialog.setWindowTitle('选择字体')
        if font_dialog.exec():
            chosen_font = font_dialog.selectedFont()
            print('选择的字体:', chosen_font.family(), chosen_font.pointSize())


if __name__ == '__main__':
    app = QApplication(sys.argv)
    main_window = MainWindow()
    main_window.show()
    sys.exit(app.exec())

运行效果

QErrorMessage运行效果

QErrorMessage 运行效果QErrorMessage 运行效果

QColorDialog运行效果

QColorDialog运行效果QColorDialog运行效果

QFontDialog运行效果

QFontDialog运行效果QFontDialog运行效果

0 人点赞