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:单选按钮控件

相关推荐
chushiyunen7 小时前
欧洲地理笔记
笔记
吃着火锅x唱着歌7 小时前
Effective C++ 学习笔记 条款43 学习处理模板化基类内的名称
c++·笔记·学习
GGMM78914 小时前
VX4B600100 控制板全解析:施耐德 ATV630 变频器核心控制单元详解
笔记·变频器·变频器维修
kdxiaojie15 小时前
Linux USB驱动阅读笔记(1)
linux·笔记·学习·usb
半生过往15 小时前
前端学 Java 课程笔记
java·前端·笔记
九硕智慧建筑一体化厂家16 小时前
楼宇自控|智慧建筑核心引擎!楼宇自控系统,赋能建筑高效低碳运维
运维·人工智能·笔记·智慧城市
GGMM78916 小时前
施耐德 VX5A1HC90110(VX5A1HD9011)ATV61/ATV71 90‑110KW 电源驱动板详解
笔记·变频器·变频器维修
Wang's Blog17 小时前
PostgreSQL笔记48: 全文检索与向量检索的对比与混合检索实践
笔记·postgresql·全文检索
liuyicenysabel18 小时前
Flask 个人站 iProfile 上线笔记(k3s + Nginx + Let‘s Encrypt)
笔记·nginx·flask
深蓝海拓18 小时前
基于QtPy (PySide6) 的PLC-HMI工程项目(十五)后续完善和改进:PLC端数据解析的防粘包、残包、废包、拆包
笔记·学习·plc