开发者

PySide6 命名空间的使用小结

目录
  • A
    • Alignment
  • B
    • BrushStyle
  • C
    • CursorMoveStyle
    • CursorShape
  • D
    • Dialog
  • F
    • FocusPolicy
  • K
    • Key
  • L
    • Lahttp://www.devze.comyoutDirection
  • O
    • Orientation
  • P
    • PenStyle
  • S
    • ScrollBarPolicy
  • T
    • TextElideMode
    • TextFormat
  • W
    • Windowstate
    • WindowType
  • 其他命名空间
    • ItemDataRole(用于模型/视图架构)
  • 总结

    以下是 PySide6 中更多命名空间及其枚举值的详细说明,按照首字母排序并补充完整,涵盖 Qt 框架的核心功能。所有说明均基于 PySide6 6.4+ 版本,确保参数类型和作用的准确性。

    A

    Alignment

    作用:控制控件或文本的对齐方式,支持水平和垂直组合。

    枚举值

    • Qt.AlignLeft:左对齐
    • Qt.AlignRight:右对齐
    • Qt.AlignTop:顶部对齐
    • Qt.AlignBottom:底部对齐
    • Qt.AlignHCenter:水平居中
    • Qt.AlignVCenter:垂直居中
    • Qt.AlignCenter:水平 + 垂直居中
    • Qt.AlignBaseline:与文本基线对齐(常用于文本混排)

    示例

    label.setAlignment(Qt.AlignRight | Qt.AlignVCenter)  # 右对齐且垂直居中
    

    B

    BrushStyle

    作用:定义画刷(填充图形)的样式。

    枚举值

    • Qt.NoBrush:无填充
    • Qt.SolidPattern:纯色填充
    • Qt.Dense1Pattern ~ Qt.Dense7Pattern:密度递增的交叉线填充
    • Qt.HorPattern:水平线填充
    • Qt.VerPattern:垂直线填充
    • Qt.CrossPattern:网格线填充

    示例

    painter.setBrush(Qt.Dense4Pattern)  # 设置画刷为中等密度交叉线
    

    C

    CursorMoveStyle

    作用:控制文本光标的移动逻辑。

    枚举值

    • Qt.LogicalMoveStyle:按文本逻辑顺序移动(如从左到右文本中,左箭头向左移动)
    • Qt.VisualMoveStyle:按视觉位置移动(适用于从右到左语言)

    示例

    text_edit.setCursorMoveStyle(Qt.VisualMoveStyle)  # 光标按视觉位置移动
    

    CursorShape

    作用:定义鼠标光标的形状。

    枚举值

    • Qt.ArrowCursor:默认箭头
    • Qt.IBeamCursor:文本输入光标
    • Qt.WaitCursor:等待(沙漏/旋转圆圈)
    • Qt.CrossCursor:十字准星
    • Qt.SizeAllCursor:移动光标(四个方向箭头)
    • Qt.PointingHandCursoandroidr:手型指针

    示例

    button.setCursor(Qt.PointingHandCursor)  # 鼠标悬停时显示手型指针
    

    D

    Dialog

    作用:窗口类型标识,表示对话框(通常无最大化/最小化按钮)。

    示例

    dialog.setWindowFlags(Qt.Dialog)  # 设置为对话框类型
    

    F

    FocusPolicy

    作用:控制控件如何接收键盘焦点。

    枚举值

    • Qt.NoFocus:不接受焦点
    • Qt.TabFocus:通过 Tab 键获取焦点
    • Qt.ClickFocus:通过鼠标点击获取焦点
    • Qt.StrongFocus:支持 Tab 键和鼠标点击
    • Qt.WheelFocus:在 StrongFocus 基础上,支持鼠标滚轮事件

    示例

    line_edit.setFocusPolicy(Qt.StrongFocus)  # 允许 Tab 和点击获取焦点
    

    K

    Key

    作用:定义键盘按键的枚举值(如处理键盘事件)。

    枚举值

    • Qt.Key_Esandroidcape:Esc 键
    • Qt.Key_Enter:回车键
    • Qt.Key_Space:空格键
    • Qt.Key_A ~ Qt.Key_Z:字母键
    • Qt.Key_Up / Qt.Key_Down:上下方向键

    示例

    def keyPressEvent(self, event):
        if event.key() == Qt.Key_Enter:
            self.submit_form()  # 按下回车键时提交表单
    

    L

    LayoutDirection

    作用:控制布局和文本方向。

    枚举值

    • Qt.LeftToRight:从左到右布局(默认)
    • Qt.RightToLeft:从右到左布局(适用于阿拉伯语等)
    • Qt.LayoutDirectionAuto:根据系统语言自动选择

    示例

    app.setLayoutDirection(Qt.RightToLeft)  # 全局从右到左布局
    

    O

    Orientation

    作用:定义方向(水平或垂直)。

    枚举值

    • Qt.Horizontal:水平方向
    • Qt.Vertical:垂直方向

    示例

    slider = QSlider(Qt.Horizontal)  # 创建水平滑动条
    

    P

    PenStyle

    作用:定义画笔(线条)的样式。

    枚举值

    • Qt.NoPen:无线条
    • Qt.SolidLine:实线
    • Qt.DashLine:虚线
    • Qt.DotLine:点线
    • Qt.DashDotLine:点划线

    示例

    painter.setPen(Qt.DashDotLine)  # 设置画笔为点划线
    

    S

    ScrollBarPolicy

    作用:控制滚动条的显示策略。

    枚举值

    • Qt.ScrollBarAsNeeded:按需显示
    • Qt.ScrollBarAlwaysOff:始终隐藏
    • Qt.ScrollBarAlwaysOn:始终显示

    示android例

    scroll_area.setVerticalScrollBarPolicy(Qt.ScrollBarAlwaysOn)  # 强制显示垂直滚动条
    

    T

    TextElideMode

    作用:定义文本过长时省略号的位置。

    枚举值

    • Qt.ElideLeft:左侧显示省略号
    • Qt.Elidwww.devze.comeRight:右侧显示省略号
    • Qt.ElideMiddle:中间显示省略号
    • Qt.ElideNone:不显示省略号

    示例

    label.setElideMode(Qt.ElideMiddle)  # 长文本中间显示省略号
    

    TextFormat

    作用:定义文本解析格式。

    枚举值

    • Qt.PlainText:纯文本
    • Qt.RichText:富文本(html)
    • Qt.MarkdownText:Markdown 格式
    • Qt.AutoText:自动检测格式

    示例

    label.setTextFormat(Qt.MarkdownText)  # 解析文本为 Markdown
    

    W

    WindowState

    作用:定义窗口的显示状态。

    枚举值

    • Qt.WindowNoState:正常状态
    • Qt.WindowMinimized:最小化
    • Qt.WindowMaximized:最大化
    • Qt.WindowFullScreen:全屏
    • Qt.WindowActive:窗口处于活动状态

    示例

    window.setWindowState(Qt.WindowFullScreen)  # 全屏显示窗口
    

    WindowType

    作用:定义窗口的类型和特性。

    枚举值

    • Qt.Widget:默认窗口类型
    • Qt.Window:独立窗口
    • Qt.Dialog:对话框窗口
    • Qt.Popup:弹出窗口(无边框)
    • Qt.ToolTip:工具提示窗口
    • Qt.SplashScreen:启动闪屏

    示例

    self.setWindowFlags(Qt.Popup)  # 设置为弹出式窗口
    

    其他命名空间

    ItemDataRole(用于模型/视图架构)

    作用:定义数据项(如列表项、表格项)的角色。

    枚举值

    • Qt.DisplayRole:显示文本
    • Qt.DecorationRole:图标或装饰
    • Qt.EditRole:可编辑数据
    • Qt.ToolTipRole:悬停提示

    示例

    model.setData(index, "Hello", Qt.DisplayRole)  # 设置列表项的显示文本
    

    总结

    PySide6 的命名空间通过逻辑分类和清晰的枚举值设计,极大提高了代码可读性和维护性。开发者应熟悉以下核心原则:

    1. 按需导入:仅导入需要的命名空间(如 from PySide6.QtCore import Qt)。
    2. 组合使用:枚举值可通过 | 运算符组合(如 Qt.AlignLeft | Qt.AlignTop)。
    3. 类型安全:避免直接使用整数值,始终使用命名空间中的枚举。

    通过合理利用这些命名空间,可以编写出高效、跨平台且易于维护的 PySide6 应用程序。

    到此这篇关于PySide6 命名空间的使用小结的文章就介绍到这了,更多相关PySide6 命名空间内容请搜索编程客栈(www.devze.com)以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程客栈(www.devze.com)!

    0

    上一篇:

    下一篇:

    精彩评论

    暂无评论...
    验证码 换一张
    取 消

    最新开发

    开发排行榜