PySide6/PyQT学习笔记(很杂)

QGroupBox样式:科技+机甲

复制代码
QGroupBox {  
    border: 2px solid #333; /* 深色边框,类似金属质感 */  
    border-radius: 8px; /* 轻微的圆角 */  
    background-color: #222; /* 暗色背景,模拟机甲内部或科技界面 */  
    color: #fff; /* 字体颜色为白色,提高可读性 */  
    margin-top: 20px; /* 顶部外边距 */  
}  
  
QGroupBox::title {  
    subcontrol-origin: margin;  
    subcontrol-position: top left;  
    padding: 0 5px;  
    background-color: #444; /* 标题背景稍微亮一些,以突出显示 */  
    color: #ddd; /* 标题文字颜色 */  
    font-weight: bold; /* 加粗标题 */  
    border-top-left-radius: 8px; /* 左上角圆角 */  
    border-top-right-radius: 8px; /* 右上角圆角 */  
}  
  
/* 当鼠标悬停在 QGroupBox 上时的样式 */  
QGroupBox:hover {  
    border-color: #666; /* 鼠标悬停时边框颜色变化 */  
    background-color: #333; /* 轻微加深背景色 */  
}  
  
/* 如果需要,可以为 QGroupBox 内的控件添加样式 */  
QGroupBox QPushButton {  
    background-color: #555; /* 按钮背景色 */  
    color: #ccc; /* 按钮文字颜色 */  
    border: 1px solid #777; /* 按钮边框 */  
    border-radius: 4px; /* 按钮圆角 */  
}  
  
QGroupBox QPushButton:hover {  
    background-color: #666; /* 鼠标悬停时按钮背景色 */  
}  
  
QGroupBox QPushButton:pressed {  
    background-color: #444; /* 按钮按下时的背景色 */  
}

1、控件的Tab顺序

2、控件之间的伙伴关系
py文件打包生成exe文件,工具有py2exe,pyinstaller,cx_Freeze和nuitka

GUI编程常用类:

  • 坐标点类QPoint和QPointF
  • 尺寸类QSize和QSizeF
  • 矩形框类QRect和QRectF
  • 页边距类QMargins和QMarginsF
  • 字体类QFont
  • 颜色类QColor
  • 调色板类QPalette
  • 图像类
    • QPixmap
      • ​​​​​​​save(str,format=None,quality=-1)
      • load(str,format=None,flags=QT.AutoColor)
      • scaled()
    • QImage
    • QPicture
    • QBitmap
  • 图标类QIcon
    • addFile()
    • addPixmap()
  • 光标类QCursor
  • 地址类QUrl

QPoint 类的常用方法和属性包括:

  • x(): 返回点的 x 坐标。
  • y(): 返回点的 y 坐标。
  • setX(int x): 设置点的 x 坐标。
  • setY(int y): 设置点的 y 坐标。
  • rx(): 返回点的 x 坐标(与 x() 相同,但返回的是 qreal 类型,对于大多数用途来说,这与 int 没有区别)。
  • ry(): 返回点的 y 坐标(与 y() 相同,也是 qreal 类型)。
  • isNull(): 判断点是否为空(即 x 和 y 坐标是否都为 0)。
  • manhattanLength(): 返回点到原点的曼哈顿距离(即沿网格线从原点到点的最短路径)。
  • __add__(QPoint): 与另一个 QPoint 相加,得到一个新的 QPoint,其坐标是原坐标与给定坐标的和。
  • __sub__(QPoint): 与另一个 QPoint 相减,得到一个新的 QPoint,其坐标是原坐标与给定坐标的差。
  • __mul__(float): 将点的坐标与给定的浮点数相乘,得到一个新的 QPoint
  • __rmul__(float): 与 __mul__ 相同,但允许在左侧使用浮点数进行乘法。

自定义光标:

复制代码
from PySide6.QtGui import QCursor, QPixmap  

# 加载图片  
pixmap = QPixmap("path/to/your/cursor.png")  
# 创建一个自定义光标  
cursor_custom = QCursor(pixmap)

如果GUI界面获取数值型数据,不要用QLable、QLineEdit、QTextEdit和QPlianTextEdit,可以选择使用数字输入控件QSpinBox和QDoubleSpinBox更方便一点。下拉列表框控件QComboBox可以最大限度压缩GUI界面空间。如果数据有一定的范围,可以使用滚动条控件QScrollBar和滑块控件QSilder。仪表盘控件QDial和滚动条滑块类似。进度条控件QPeocessBar可以缓解用户等待焦虑。
QPushButton:按压按钮控件

QCommandLinkButton:命令连接按钮控件

QCheckBox:复选框按钮控件

QRadioButton:单选按钮控件

相关推荐
lengxuemo8 小时前
ICC2学习笔记之Placement and Optimization
笔记·学习
sheeta19989 小时前
LeetCode 每日一题笔记 日期:2026.06.02 题目:3635. 最早完成陆地和水上游乐设施的时间 II
笔记·算法·leetcode
小满Autumn10 小时前
MVVM Light 架构笔记:定位器、命令、消息与 IoC 实践
笔记·学习·架构·c#·上位机·mvvm
kobesdu11 小时前
【ROS2实战笔记-24】ROS2 Launch 实用技巧:条件逻辑与节点动态生成
笔记·ros·slam
小满Autumn11 小时前
CommunityToolkit.Mvvm 架构笔记:现代 MVVM、源生成器与工程化实践
笔记·架构·c#·.net·wpf·mvvm
imDwAaY13 小时前
贝叶斯网络到粒子滤波Python算法实现 CS188 Proj4 学习笔记
网络·人工智能·笔记·python·学习·算法
咸甜适中14 小时前
rust语言学习笔记Trait(十五)Drop(释放资源)
笔记·学习·rust
IT笔记15 小时前
【Rust】 Rust宏学习笔记
笔记·学习·rust
tianxingjian201915 小时前
从欧盟电池法新规看QFD:如何将合规需求转化为技术特性?
笔记
喜樂的CC15 小时前
NestJS图解笔记
笔记