当前位置: 首页 > news >正文

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

 

相关文章:

PySide6/PyQT学习笔记(很杂)

QGroupBox样式:科技机甲 QGroupBox { border: 2px solid #333; /* 深色边框,类似金属质感 */ border-radius: 8px; /* 轻微的圆角 */ background-color: #222; /* 暗色背景,模拟机甲内部或科技界面 */ color: #fff; /* 字体颜色为白色&a…...

学习笔记-JWT 保持登录状态

目录 一、解析 token 1. 在 JWT 工具类添加解析 token 的方法 2. 在 Controller 添加获取用户数据的方法 二、获取用户信息 1. 发起 axios 请求用户信息 2. 在路由守卫中调用方法 3. 使用 三、token 时效性 1. 设置 token 过期时间 2. 判断 token 是否过期 3. 在拦截…...

React 性能优化

使用 useMemo 缓存数据 (类似 vue 的 computed)使用 useCallback 缓存函数异步组件 ( lazy )路由懒加载( lazy )服务器渲染 SSR用 CSS 模拟 v-show 循环渲染添加 key使用 Fragment (空标签)减少层级 不在JSX 中定义函数&#xff0…...

后端常见问题及深度解决方案

🐟作者简介:一名大三在校生,喜欢编程🪴 🐡🐙个人主页🥇:Aic山鱼 🐠WeChat:z7010cyy 🦈系列专栏:🏞️ 前端-JS基础专栏✨前…...

C:野指针介绍(定义、危害、规避)以及野指针与空指针的区分

目录 1、野指针 1.1 野指针的成因 1.指针未初始化 2.指针越界访问 3.指针指向的空间释放 1.2 野指针的危害 1.3 如何规避野指针 1. 指针初始化 2. 小心指针越界 3.指针变量不使用就及时赋上NULL 4. 指针使用前检查是否是空指针 5. 避免返回局部变量的地址 1.4 区…...

vue中v-html 后端返回html + script js中click事件不生效

效果图&#xff1a; 需求&#xff1a;点击加号执行后端返回的script中的代码 后端返回的html&#xff1a; <!DOCTYPE html> <html langzh> <head> <title>xxx</title> <style>body{font-size: 14px}p{text-indent: 30px;}textarea{width…...

介绍maven生命周期-水温

Maven生命周期是指一系列的构建阶段&#xff0c;包括项目的清理、编译、测试、打包、部署等。Maven通过定义生命周期来规范项目构建过程&#xff0c;使得开发人员可以方便地执行一系列的构建任务。 Maven的生命周期分为三个阶段&#xff1a; clean生命周期&#xff1a;主要用…...

spring boot3.x快速入门

下一篇&#xff1a;Spring Boot 3.x gradle脚手架工程build.gradle详解 本教程将基于gradle项目构建工具来快速构建一个spring boot 3.x的最简单的web应用&#xff0c;其中涉及各种构建技巧和细节&#xff0c;希望能帮到初学者~ 文章目录 先决条件JDK17gradle全局配置 gradle项…...

JavaWeb之servlet关于Ajax实现前后端分离

一、什么是Ajax: AJAX Asynchronous JavaScript and XML&#xff08;异步的 JavaScript 和 XML&#xff09;。 AJAX 不是新的编程语言&#xff0c;而是一种使用现有标准的新方法。 AJAX 最大的优点是在不重新加载整个页面的情况下&#xff0c;可以与服务器交换数据并更新部…...

vue3表格组件formatter

有时候在网页上显示表格数据时&#xff0c;表格的某些列值只有有限数目&#xff08;例如&#xff0c;启用/停用&#xff09;&#xff0c;这时候后端常常使用不同的数据值表示不同状态&#xff0c;前端怎么将这些数据值转化为相应的列值呢&#xff1f; 我们可以采用vue3表格组件…...

C# 使用NHibernate连接MySQL实现数据的增删改查

使用 NHibernate 连接 MySQL 并实现数据的增删改查操作是一个非常典型的场景。以下是一个简单的示例&#xff0c;演示了如何配置 NHibernate 与 MySQL 连接并进行基本的 CRUD 操作。 目录 步骤 1: 安装必要的包 步骤 2: 配置 NHibernate 配置文件方式 代码方式 步骤 3: 定…...

IDEA2024.2重磅发布,更新完有4G!

JetBrains 今天宣布了其 IDE 家族版本之 2024.2 更新&#xff0c;其亮点是新 UI 现在已是默认设置&#xff0c;并且对 AI Assistant &#xff08;AI助手&#xff09;进行了几项改进。 安装密道 新 UI 的设计更加简约&#xff0c;可以根据需要以视觉方式扩展复杂功能。值得开发…...

QWT+Qt Creator+MSVC的配置与使用

目录 一、介绍 二、QWT下载 三、QWT编译 3.1 设置构建套件 3.2 修改QWT相关文件 3.3 进行QWT编译 四、QWT配置 4.1 配置QWT的lib文件 4.2 配置QWT的dll文件 4.3 配置QWT的designer的dll文件 五、代码实验 一、介绍 QWT&#xff0c;全称是Qt Widgets for Technical…...

Netty高性能数据结构

文章目录 Netty高性能数据结构FastThreadLocalHashedWheelTimer时间轮Mpsc无锁队列 Netty高性能数据结构 Netty 用高性能数据结构的主要目的是为了提高网络通信的效率和系统的整体性能。 所谓的高性能数据结构是指&#xff0c;那些在特定场景下优化了性能和效率的数据结构&am…...

关于百度、微软语音合成的实现案例

关键词 自助机产品、排队呼叫功能、网络喇叭、百度语音合成SDK、微软TTS 阅读建议 对自助机产品功能扩展感兴趣的读者、需要实现远程语音呼叫功能的开发者、想要了解网络喇叭选型及其使用的技术人员、对百度语音合成SDK和微软TTS感兴趣的开发者 阅读时长 预计阅读时长&#xf…...

二叉树:镜像树,子结构,二叉树转链表,二叉树的倒数K个数,对称,Z型打印

1.把一棵二叉树转换为它的镜像树。 void mirror_tree(TreeNode *root) {if(rootNULL) return ;TreeNode *temproot->right;root->rightroot->left;root->lefttemp;mirror_tree(root->right);mirror_tree(root->left);}2、输入两棵二叉树A&#xff0c;B&…...

瑞秋,詹妮弗·安妮斯顿多年来与本·阿弗莱克保持着“调情”友谊 又一个詹妮弗

尽管所有迹象都表明本阿弗莱克和詹妮弗洛佩兹的婚姻即将走向离婚,但他尚未公开评论此事。不过,好莱坞圈内人士已经纷纷将他与另一位名人联系起来。事实上,是另一位詹妮弗。 一位消息人士向媒体透露,詹妮弗安妮斯顿和阿弗莱克一直都很有默契——无论是在银幕上还是在银幕外…...

指纹失效,忘记iPhone屏幕解锁密码怎么应对?

为保证手机的安全及隐私&#xff0c;我们会给手机设置屏幕锁屏密码&#xff0c;通过输入设置密码来解锁手机屏幕锁&#xff0c;但为了给大家提供快速便捷的解锁方式&#xff0c;苹果公司提供了指纹解锁&#xff0c;不仅解锁更便捷了还极大地增强了设备的安全性。但有时我们手指…...

09.XSS跨站脚本攻击(超详细!!!)

1、什么是XSS XSS&#xff08;跨站脚本攻击&#xff09;&#xff1a;攻击者利用这个漏洞将恶意脚本注入到网页中&#xff0c;当其它用户浏览这些页面时&#xff0c;恶意脚本会在用户的浏览器中执行。XSS攻击允许攻击者在用户的浏览器上执行脚本&#xff0c;从而可能获取用户的…...

讲解人工智能在现代科技中的应用和未来发展趋势-水文

人工智能&#xff08;Artificial Intelligence&#xff0c;简称AI&#xff09;是一种模拟人类智能的科技领域&#xff0c;它通过计算机模拟人类的思维、学习、推理和决策能力&#xff0c;以便解决复杂的问题。近年来&#xff0c;人工智能技术的发展取得了惊人的进展&#xff0c…...

渲染学进阶内容——模型

最近在写模组的时候发现渲染器里面离不开模型的定义,在渲染的第二篇文章中简单的讲解了一下关于模型部分的内容,其实不管是方块还是方块实体,都离不开模型的内容 🧱 一、CubeListBuilder 功能解析 CubeListBuilder 是 Minecraft Java 版模型系统的核心构建器,用于动态创…...

【配置 YOLOX 用于按目录分类的图片数据集】

现在的图标点选越来越多&#xff0c;如何一步解决&#xff0c;采用 YOLOX 目标检测模式则可以轻松解决 要在 YOLOX 中使用按目录分类的图片数据集&#xff08;每个目录代表一个类别&#xff0c;目录下是该类别的所有图片&#xff09;&#xff0c;你需要进行以下配置步骤&#x…...

汇编常见指令

汇编常见指令 一、数据传送指令 指令功能示例说明MOV数据传送MOV EAX, 10将立即数 10 送入 EAXMOV [EBX], EAX将 EAX 值存入 EBX 指向的内存LEA加载有效地址LEA EAX, [EBX4]将 EBX4 的地址存入 EAX&#xff08;不访问内存&#xff09;XCHG交换数据XCHG EAX, EBX交换 EAX 和 EB…...

MySQL用户和授权

开放MySQL白名单 可以通过iptables-save命令确认对应客户端ip是否可以访问MySQL服务&#xff1a; test: # iptables-save | grep 3306 -A mp_srv_whitelist -s 172.16.14.102/32 -p tcp -m tcp --dport 3306 -j ACCEPT -A mp_srv_whitelist -s 172.16.4.16/32 -p tcp -m tcp -…...

OPenCV CUDA模块图像处理-----对图像执行 均值漂移滤波(Mean Shift Filtering)函数meanShiftFiltering()

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 算法描述 在 GPU 上对图像执行 均值漂移滤波&#xff08;Mean Shift Filtering&#xff09;&#xff0c;用于图像分割或平滑处理。 该函数将输入图像中的…...

什么是VR全景技术

VR全景技术&#xff0c;全称为虚拟现实全景技术&#xff0c;是通过计算机图像模拟生成三维空间中的虚拟世界&#xff0c;使用户能够在该虚拟世界中进行全方位、无死角的观察和交互的技术。VR全景技术模拟人在真实空间中的视觉体验&#xff0c;结合图文、3D、音视频等多媒体元素…...

k8s从入门到放弃之HPA控制器

k8s从入门到放弃之HPA控制器 Kubernetes中的Horizontal Pod Autoscaler (HPA)控制器是一种用于自动扩展部署、副本集或复制控制器中Pod数量的机制。它可以根据观察到的CPU利用率&#xff08;或其他自定义指标&#xff09;来调整这些对象的规模&#xff0c;从而帮助应用程序在负…...

Vue 3 + WebSocket 实战:公司通知实时推送功能详解

&#x1f4e2; Vue 3 WebSocket 实战&#xff1a;公司通知实时推送功能详解 &#x1f4cc; 收藏 点赞 关注&#xff0c;项目中要用到推送功能时就不怕找不到了&#xff01; 实时通知是企业系统中常见的功能&#xff0c;比如&#xff1a;管理员发布通知后&#xff0c;所有用户…...

Java后端检查空条件查询

通过抛出运行异常&#xff1a;throw new RuntimeException("请输入查询条件&#xff01;");BranchWarehouseServiceImpl.java // 查询试剂交易&#xff08;入库/出库&#xff09;记录Overridepublic List<BranchWarehouseTransactions> queryForReagent(Branch…...

C++ 类基础:封装、继承、多态与多线程模板实现

前言 C 是一门强大的面向对象编程语言&#xff0c;而类&#xff08;Class&#xff09;作为其核心特性之一&#xff0c;是理解和使用 C 的关键。本文将深入探讨 C 类的基本特性&#xff0c;包括封装、继承和多态&#xff0c;同时讨论类中的权限控制&#xff0c;并展示如何使用类…...