【Qt】常用控件 —— QLabel

QLabel 的属性

QLabel 可以用来显示文本图片


text —— QLabel中的文本

textFormat —— 文本的格式
Qt::PlainText 纯文本 Qt::RichText 富文本 (支持html标签)
Qt::MarkdownText markdown格式 Qt::AutoText 根据文本内容自动决定文本格式

pixmap —— QLabel 内部包含图片

scaledContents —— 设为 true 表示内容 自动拉伸填充 QLabel
设为 false 则不会自动拉伸

alignment —— 对齐方式
可以设置水平和垂直方向如何对齐

wordWrap —— 设为 true 内部的文本 会自动换行
设为 false 则内部文本不会自动换行

indent —— 设置文本缩进 水平和垂直方向都生效

margin —— 内部文本 和 边框之间的边距 (上下左右 四个方向都生效)

openExternalLinks —— 是否允许打开一个外部的链接

buddy —— 给 QLabel 关联一个 伙伴 点击QLabel l时就能激活对应的伙伴


QLabel 的 文本格式

分别对三个label 的文本格式 设置 为 纯文本 富文本 markdown


虽然给 三个label 设置了不同的文本格式 但是程序运行后 看起来并没有什么不同


在 纯文本 和 富文本中 添加 < b > 标签 在富文本中 表示文本加粗
加入到纯文本中 只会被当成单纯的文本 不会有渲染操作


QLabel 设置图片

通过 qrc 文件 将玫瑰花图片 添加到 其中


先通过 geometry 函数 获取到 QWidget 窗口 的 width 和 height
再通过 pixmap 函数 获取到 对应的 图片 路径
由于不知道图片的大小 于窗口是否匹配 所以使用 setScaledContents 启动自动拉伸 使得图片填充满整个窗口


运行程序后 图片 铺满整个窗口


Qt 中 表示用户的操作 有两类概念 :
一个是 信号 一个是事件

当用户拖拽修改窗口大小的时候 就会触发resize事件 (resizeEvent)
像resize 这样的事件 是连续变化的 把窗口尺寸从 A拖到B 这个过程中 会触发出一系列的 resizeEvent

让 Widget窗口类 重写 父类 (QWidget) 的 resizeEvent 虚函数
在鼠标拖动窗口尺寸的过程中 这个函数就会被反复调用执行 (每次触发一个resizeEvent 事件 都会被调用一次对应的虚函数)

由于进行函数重写 调用父类的虚函数 就会实际调用到 子类对应的函数


使用 event->size().width() 记录这一时刻的 width 值 大小
event->size().height() 记录这一时刻的 height 值 大小


窗口去拖拽大小时 对应的图片大小也会随着改变


QLabel 设置文本对齐方式

通过 setAlignment 函数 获取 对应 label的文本格式
Qt::AlignHCenter 表示 水平方向 居中
Qt::AlignVCenter 表示 垂直方向 居中


Qt::AlignRight 表示 靠右侧对齐


Qt::AlignTop 表示 靠上对齐


QLabel 设置自动换行 边距 缩进

自动换行

通过 setWordWrap 函数 并设置为true 表示开启自动换行


缩进

setIndent 函数 其参数表示一个像素的值


设置缩进后即使文本换行 后续的行也会产生缩进


边距

setMargin 函数 可以设置四个方向
虽然存在自动换行 但是被边距覆盖掉了 只剩下前面一段的文本存在


QLabel 设置伙伴

将 QLabel 与单选框类似的控件 绑定伙伴关系 就可以通过 Qlabel 触发 单选框的 选择操作


将 label 与 radioButton 之间 绑定伙伴关系
将 label_2 与 radiobutton_2 之间 绑定 伙伴关系


用鼠标可以点击 选项1 和 选项2 但是没办法点击 快捷键A 和 快捷键B
当 输入 ALT A 时 切换到 选项1 输入 ALT B 时 切换到 选项2


Qt中 QLabel中写的文本 是可以指定快捷键的 在文本中 使用 & 跟上一个字符 来表示 快捷键
如: &A 就可以通过键盘上的 ALT A 来触发这个快捷键

绑定 伙伴关系之后 通过 快捷键 就可以选中对应的单选按钮 复选按钮

  • 12
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

风起、风落

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值