PySide6-控件教程-005-QLabel标签控件-内边距、缩放、伙伴关系

2023-11-17

QLabel 标签控件

本文摘录自我的开源教程:PySide6 代码式教程 - QLabel,CSDN 平台仅做镜像,答疑、纠错请至 GitHub 提交 issue

内边距

QLabel还可以调整内边距、启用内容缩放,以更细致地调节显示效果

  • .setMargin(int) 设置内边距(框架的最内部像素和内容的最外部像素之间的距离)
  • .margin() -> int 获取内边距,默认值为0

内容缩放

  • .setScaledContents(bool) 设置是否启用缩放
  • .hasScaledContents() -> bool 返回是否启用了缩放

伙伴关系

当用户按下标签控件的快捷键(仅支持"字母&"形式)时,键盘焦点会转移到该标签的伙伴控件(比如文本编辑器)上

  • .setBuddy(buddy: QWidget) 设置标签的伙伴
  • .buddy() -> QWidget 获取标签的伙伴

示例代码a

本节对应示例代码如下,在已经正确安装 PySide6 的前提下可直接在本地运行:

# https://github.com/muziing/PySide6-Code-Tutorial

import sys

from PySide6 import QtGui, QtWidgets

class MyWidget(QtWidgets.QWidget):
    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)
        self.setWindowTitle("QLabel-内容边距、缩放")
        self.resize(800, 600)
        self.setup_ui()

    def setup_ui(self) -> None:
        """设置界面,测试功能"""
        # 内边距
        label_1 = QtWidgets.QLabel("PySide6", self)
        label_1.move(340, 100)
        label_1.setStyleSheet("background-color: cyan;")
        label_1.setMargin(20)  # 设置边距
        print(label_1.margin())  # 获取边距

        # 启用缩放
        label_2 = QtWidgets.QLabel(self)
        label_2.resize(50, 50)
        label_2.move(350, 200)
        label_2.setPixmap(QtGui.QPixmap("../../Resources/Icons/OS_Ubuntu_128px.ico"))
        # 该位图为128像素宽高,label2仅有50像素,如不缩放,则只能显示位图的一部分
        label_2.setScaledContents(True)  # 启用内容缩放
        print(label_2.hasScaledContents())  # 获取是否开启了缩放


if __name__ == "__main__":
    app = QtWidgets.QApplication(sys.argv)
    window = MyWidget()
    window.show()
    sys.exit(app.exec())

示例代码b

# https://github.com/muziing/PySide6-Code-Tutorial

import sys

from PySide6 import QtWidgets

class MyWidget(QtWidgets.QWidget):
    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)
        self.setWindowTitle("QLabel-伙伴关系")
        self.resize(800, 600)
        self.setup_ui()
        self.test_01()

    def setup_ui(self) -> None:
        """设置界面"""
        self.name_label = QtWidgets.QLabel("&Name")  # Alt+N快捷键
        self.age_label = QtWidgets.QLabel("年龄(&A)")  # 使用Alt+A快捷键,age_spin_box即获得焦点
        self.name_edit = QtWidgets.QLineEdit()
        self.age_spin_box = QtWidgets.QSpinBox()

        # 使用表单布局管理器进行布局,更多信息参阅本项目Layout目录
        layout = QtWidgets.QFormLayout()
        layout.addRow(self.name_label, self.name_edit)
        layout.addRow(self.age_label, self.age_spin_box)
        self.setLayout(layout)

    def test_01(self) -> None:
        """测试伙伴关系功能"""
        self.name_label.setBuddy(self.name_edit)
        self.age_label.setBuddy(self.age_spin_box)

        print(self.name_label.buddy())


if __name__ == "__main__":
    app = QtWidgets.QApplication(sys.argv)
    window = MyWidget()
    window.show()
    sys.exit(app.exec())

关于 PySide6-Code-Tutorial

  • 前身为已有近 500 Stars 的爆火教程 PyQt_practice
  • 每个模块(.py文件)都可运行,展示了各种控件的各种功能属性作用,代码中有注释讲解
  • 使用最新的 Python 与 PySide 版本(目前为3.10与6.3)
  • 已经涵盖数十个常用控件,且仍在快速增加中

教程目录原版教程地址:https://github.com/muziing/PySide6-Code-Tutorial

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

PySide6-控件教程-005-QLabel标签控件-内边距、缩放、伙伴关系 的相关文章

  • Python BigQuery 存储。并行读取多个流

    我有以下玩具代码 import pandas as pd from google cloud import bigquery storage v1beta1 import os import google auth os environ G
  • InterfaceError:连接已关闭(使用 django + celery + Scrapy)

    当我在 Celery 任务中使用 Scrapy 解析函数 有时可能需要 10 分钟 时 我得到了这个信息 我用 姜戈 1 6 5 django celery 3 1 16 芹菜 3 1 16 psycopg2 2 5 5 我也使用了psyc
  • 将字符串转换为带有毫秒和时区的日期时间 - Python

    我有以下 python 片段 from datetime import datetime timestamp 05 Jan 2015 17 47 59 000 0800 datetime object datetime strptime t
  • DreamPie 不适用于 Python 3.2

    我最喜欢的 Python shell 是DreamPie http dreampie sourceforge net 我想将它与 Python 3 2 一起使用 我使用了 添加解释器 DreamPie 应用程序并添加了 Python 3 2
  • 导入错误:没有名为 _ssl 的模块

    带 Python 2 7 的 Ubuntu Maverick 我不知道如何解决以下导入错误 gt gt gt import ssl Traceback most recent call last File
  • 如何打印没有类型的defaultdict变量?

    在下面的代码中 from collections import defaultdict confusion proba dict defaultdict float for i in xrange 10 confusion proba di
  • Python 多处理示例不起作用

    我正在尝试学习如何使用multiprocessing但我无法让它发挥作用 这是代码文档 http docs python org 2 library multiprocessing html from multiprocessing imp
  • 如何等到 Excel 计算公式后再继续 win32com

    我有一个 win32com Python 脚本 它将多个 Excel 文件合并到电子表格中并将其另存为 PDF 现在的工作原理是输出几乎都是 NAME 因为文件是在计算 Excel 文件内容之前输出的 这可能需要一分钟 如何强制工作簿计算值
  • 打破嵌套循环[重复]

    这个问题在这里已经有答案了 有没有比抛出异常更简单的方法来打破嵌套循环 在Perl https en wikipedia org wiki Perl 您可以为每个循环指定标签 并且至少继续一个外循环 for x in range 10 fo
  • Python 中的二进制缓冲区

    在Python中你可以使用StringIO https docs python org library struct html用于字符数据的类似文件的缓冲区 内存映射文件 https docs python org library mmap
  • Python:尝试检查有效的电话号码

    我正在尝试编写一个接受以下格式的电话号码的程序XXX XXX XXXX并将条目中的任何字母翻译为其相应的数字 现在我有了这个 如果启动不正确 它将允许您重新输入正确的数字 然后它会翻译输入的原始数字 我该如何解决 def main phon
  • 循环中断打破tqdm

    下面的简单代码使用tqdm https github com tqdm tqdm在循环迭代时显示进度条 import tqdm for f in tqdm tqdm range 100000000 if f gt 100000000 4 b
  • 如何将 PIL 图像转换为 NumPy 数组?

    如何转换 PILImage来回转换为 NumPy 数组 这样我就可以比 PIL 进行更快的像素级转换PixelAccess允许 我可以通过以下方式将其转换为 NumPy 数组 pic Image open foo jpg pix numpy
  • 检查所有值是否作为字典中的键存在

    我有一个值列表和一本字典 我想确保列表中的每个值都作为字典中的键存在 目前我正在使用两组来确定字典中是否存在任何值 unmapped set foo set bar keys 有没有更Pythonic的方法来测试这个 感觉有点像黑客 您的方
  • 在 Pandas DataFrame Python 中添加新列[重复]

    这个问题在这里已经有答案了 例如 我在 Pandas 中有数据框 Col1 Col2 A 1 B 2 C 3 现在 如果我想再添加一个名为 Col3 的列 并且该值基于 Col2 式中 如果Col2 gt 1 则Col3为0 否则为1 所以
  • 用于运行可执行文件的python多线程进程

    我正在尝试将一个在 Windows 上运行可执行文件并管理文本输出文件的 python 脚本升级到使用多线程进程的版本 以便我可以利用多个核心 我有四个独立版本的可执行文件 每个线程都知道要访问它们 这部分工作正常 我遇到问题的地方是当它们
  • 对输入求 Keras 模型的导数返回全零

    所以我有一个 Keras 模型 我想将模型的梯度应用于其输入 这就是我所做的 import tensorflow as tf from keras models import Sequential from keras layers imp
  • 如何使用google colab在jupyter笔记本中显示GIF?

    我正在使用 google colab 想嵌入一个 gif 有谁知道如何做到这一点 我正在使用下面的代码 它并没有在笔记本中为 gif 制作动画 我希望笔记本是交互式的 这样人们就可以看到代码的动画效果 而无需运行它 我发现很多方法在 Goo
  • Spark.read 在 Databricks 中给出 KrbException

    我正在尝试从 databricks 笔记本连接到 SQL 数据库 以下是我的代码 jdbcDF spark read format com microsoft sqlserver jdbc spark option url jdbc sql
  • Python 分析:“‘select.poll’对象的‘poll’方法”是什么?

    我已经使用 python 分析了我的 python 代码cProfile模块并得到以下结果 ncalls tottime percall cumtime percall filename lineno function 13937860 9

随机推荐

  • Visual Studio Code如何打开多个tab标签

    原创 Visual Studio Code如何打开多个tab标签 SweetTool的专栏 CSDN博客 在打开文件夹预览的模式下VS Code默认单击打开文件时仅保存一个tab 例如当前window打开一个tabA 然后点击另外一个文件B
  • 带你了解ES6 Module

    1 commonJS 在说 es6 模块以前 我们先来看一下后端普遍使用的打包方式 commonJS的一些特性 同步加载 也就是串行执行 后面的任务要等到前面任务执行完才能继续执行 语法 commonJS中使用 require 引入 mod
  • [Paper-CV] ECCV 2012 papers 1

    http applesun0757 blog 163 com blog static 18737419220126702145274 Paper CV ECCV 2012 papers 1 2012 07 07 00 21 45 分类 Pa
  • linux中替换命令详解,linux中tr命令详解 (替换,删除d,缩减s)

    tr用来从标准输入中通过替换或删除操作进行字符转换 tr主要用于删除文件中控制字符或进行字符转换 特别要注意一点 tr 只能进行字符的替换 缩减和删除 不能用来替换字符串 最常用选项的tr命令格式为 tr c d s string1 to
  • C# 网络编程之Tcp实现客户端和服务器聊天

    最近使用Socket网络套接字编程中 在同步与异步通讯中客户端与服务器总是无法响应 但在学习Tcp协议编程中完成了通讯聊天功能 下面简单讲讲我最近学到的及Tcp聊天的源代码及详细注释 Tcp协议是一个传输层的协议 在Tcp协议编程中它通常使
  • OpenGL超级宝典 纹理(一)

    文章目录 纹理 创建并且初始化纹理 更新纹理数据 从着色器中读取数据 采样器类型 控制纹理数据的读取方式 创建采样器对象和绑定到纹理单元 纹理过滤 设置过滤器 加载纹理 完整代码展示 shader vertex shader fragmen
  • mysql 授权管理和设置

    1 给指定数据库增加所有权限 所有库即 GRANT ALL PRIVILEGES ON TO 用户名 IDENTIFIED BY 密码 WITH GRANT OPTION 设置完之后更新权限表 FLUSH PRIVILEGES 2 给用户增
  • C++11模板元编程-std::enable_if示例详解

    文章目录 1 限制模板函数的参数类型 2 模板类型偏特化 传送门 gt gt AutoSAR实战系列300讲 糖果Autosar 总目录 C 11中引入了std enable if函数 函数原型如下 template lt bool B c
  • AI+数据安全,探索数据安全防护新手段

    随着 4G 正式商用 带宽将不再是数据传输的瓶颈 人类社会真正意义的进入了以手持终端 各类传感器为代表的移动互联网 万物互联 人工智能时代 我们将不再受限于地理位置 可尽情享受着手机购物 电子支付 媒体社交 个性化推送 VR等各种便捷和个性
  • 计算机图形学十五:基于物理的渲染(蒙特卡洛路径追踪)

    蒙特卡洛路径追踪 摘要 1 蒙特卡洛积分 Monte Carlo Integration 2 蒙特卡洛路径追踪 Monte Carlo Path Tracing Reference 本篇文章同步发表于知乎专栏 https zhuanlan
  • PHP与JSON的一些常用操作

    PHP把数据写入JSON文件 PHP读取JSON数据
  • C++ 抽象类

    抽象类 接口 接口描述了类的行为和功能 而无需完成类的特定实现 C 接口时通过抽象类实现的 设计抽象类的目的 是为了给其他类提供一个可以继承的适当的基类 抽象类本类不能被用于实例化对象 只能作为接口使用 注意 如果试图实例化一个抽象类的对象
  • 对象的初始化和清理

    对象的初始化和清理 构造函数和析构函数 对象的初始化和清理也是两个非常重要的安全问题 一个对象或者变量没有初始状态 对其使用后果是未知 同样的使用完一个对象或变量 没有及时清理 也会造成一定的安全问题 c 利用了构造函数和析构函数解决上述问
  • visual studio2019创建解决方案,并在一个解决方案中包含多个项目

    系列文章目录 文章目录 系列文章目录 前言 一 使用步骤 前言 之前一直使用visual studio2019一直都是一个解决方案 下面包含一个工程 这次写一个网络同步的模块 具体使用boost的asio模块 我们需要建立一个解决方案 一个
  • 使用slickedit调试开源代码

    slickedit linux下的神器啊 阅读代码堪比 source insight 调试代码堪比 visual studio nginx优秀的web服务器 因为其具有多进程 后台进程的特点 因此本文选择以此为例讲解slickedit如何对
  • Java中的排序算法

    冒泡排序 核心思想 冒泡排序 核心思想 冒泡排序 Bubble Sort 又被称为气泡排序或泡沫排序 它是一种较简单的排序算法 它会遍历若干次要排序的数列 每次遍历时 它都会从前往后依次的比较相邻两个数的大小 如果前者比后者大 则交换它们的
  • LeetCode题解——394. 字符串解码

    题目相关 题目链接 LeetCode中国 https leetcode cn com problems decode string 注意需要登录 题目描述 给定一个经过编码的字符串 返回它解码后的字符串 编码规则为 k encoded st
  • 昨晚做梦面试官问我三色标记算法

    本文已收录至GitHub 推荐阅读 Java随想录 微信公众号 Java随想录 原创不易 注重版权 转载请注明原作者和原文链接 文章目录 三色标记算法 增量更新 原始快照 某天 爪哇星球上 一个普通的房间 正在举行一场秘密的面试 面试官 我
  • Sql server 存储过程加密

    本方法可用于加密SQL存储过程 函数或者触发器 使用 WITH ENCRYPTION 选项 WITH ENCRYPTION 子句对用户隐藏存储过程的文本 例子 IF OBJECT ID N Pro Encrypt Test IS NOT N
  • PySide6-控件教程-005-QLabel标签控件-内边距、缩放、伙伴关系

    QLabel 标签控件 本文摘录自我的开源教程 PySide6 代码式教程 QLabel CSDN 平台仅做镜像 答疑 纠错请至 GitHub 提交 issue 内边距 QLabel还可以调整内边距 启用内容缩放 以更细致地调节显示效果 s