QLabel

一、描述

QLabel继承自 QFrame。QLabel 用于显示文本或图像。 不提供用户交互功能。

二、属性成员

1、alignment : Qt::Alignment

内容的对齐方式。默认情况内容是左对齐和垂直居中的。

2、【read-only】hasSelectedText : const bool

是否选择了任何文本。

3、indent : int

以像素为单位保存标签的文本缩进。默认为 -1。

当标签显示文本时:

  • 如果 alignment() 是Qt::AlignLeft,则缩进应用于左边缘
  • 如果 alignment() 是Qt::AlignRight,则缩进应用于右边缘
  • 如果 alignment() 是Qt::AlignTop,则缩进应用于顶部边缘
  • 如果 alignment() 是Qt::AlignBottom,则到底部边缘

如果此值小于等于0,标签计算有效缩进如下:

  • 如果 frameWidth() 为 0,有效缩进变为 0
  • 如果 frameWidth() 大于 0,有效缩进变为小部件当前 font() 的“x”字符宽度的一半。

4、margin : int

边距的宽度。即框架的最里面的像素和内容的最外面的像素之间的距离。默认为 0。

5、openExternalLinks : bool

指定 QLabel 是否应使用 QDesktopServices::openUrl() 自动打开链接而不是发出 linkActivated() 信号。默认值为false。

6、pixmap : QPixmap

标签的像素图。设置像素图会清除任何以前的内容。

7、scaledContents : bool

标签是否将缩放其内容以填充所有可用空间。默认值为 false。

当启用并且标签显示像素图时,它将缩放像素图以填充可用空间。

8、【read-only】selectedText : const QString

选定的文本。如果没有选定文本,则此属性的值为空字符串。

9、text : QString

标签的文本。设置文本会清除任何以前的内容。

文本将被解释为纯文本或富文本,具体取决于文本格式设置。默认设置为 Qt::AutoText,即 QLabel 将尝试自动检测文本集的格式。

QLabel 非常适合显示小型富文本文档,例如从标签的调色板和字体属性获取文档特定设置(字体、文本颜色、链接颜色)的小型文档。对于大型富文本文档,请在只读模式下使用 QTextEdit。 QTextEdit 还可以在必要时提供滚动条。

如果文本包含富文本,此功能将启用鼠标跟踪。

10、textFormat : Qt::TextFormat

标签的文本格式。默认格式是 Qt::AutoText

  • Qt::PlainText:文本字符串被解释为纯文本字符串。
  • Qt::RichText:文本字符串被解释为富文本字符串。
  • Qt::AutoText:如果 Qt::mightBeRichText() 返回 true,则文本字符串被解释为 Qt::RichText,否则解释为 Qt::PlainText
  • Qt::MarkdownText:文本字符串被解释为 Markdown 格式的文本。

相关:

bool Qt::mightBeRichText(const QString &text)

返回字符串文本是否可能是富文本。

QString Qt::convertFromPlainText(const QString &plain, Qt::WhiteSpaceMode mode = WhiteSpacePre)

将纯文本字符串纯文本转换为 HTML 格式的段落,同时保留其大部分外观。mode 定义了如何处理空格。

11、textInteractionFlags : Qt::TextInteractionFlags

标签在显示文本时应如何与用户输入交互。默认值为 Qt::LinksAccessibleByMouse

Qt::TextInteractionFlags见Qt图形视图框架:QGraphicsTextItem

  • 如果标志包含 Qt::LinksAccessibleByKeyboard,则焦点策略也会自动设置为 Qt::StrongFocus
  • 如果标志包含 Qt::TextSelectableByKeyboard,则焦点策略设置为 Qt::ClickFocus

12、wordWrap : bool

标签的自动换行策略,默认为false。如果为true,则标签文本会在必要的断字处换行。

三、成员函数 

1、void clear()

清除任何标签内容。 

2、【信号】void linkActivated(const QString &link)

当用户单击链接时会发出此信号。

3、【信号】void linkHovered(const QString &link)

当用户将鼠标悬停在链接上时会发出此信号。

4、void setMovie(QMovie *movie)

将标签内容设置为QMovie。任何先前的内容都将被清除。该标签不拥有movie的所有权。

5、void setNum(double num)

     void setNum(int num)

将标签内容设置为包含 num 文本表示的纯文本。 任何先前的内容都将被清除。

6、void setPicture(const QPicture &picture)

将标签内容设置为图片。 任何先前的内容都将被清除。

7、int selectionStart()

返回标签中第一个选定字符的索引,如果没有选择文本,则返回 -1。

8、void setBuddy(QWidget *buddy)

设置此标签伙伴部件。

当用户按下此标签指示的快捷键时,键盘焦点将转移到标签的好友小部件。

伙伴机制仅适用于包含文本的 QLabel,其中一个字符以与号“&”为前缀。 该字符被设置为快捷键。(要显示实际的&符号,使用“&&”)。

QLineEdit *nameEdit  = new QLineEdit(this);
QLabel    *nameLabel = new QLabel("&Name:", this);
nameLabel->setBuddy(nameEdit);
QLineEdit *phoneEdit  = new QLineEdit(this);
QLabel    *phoneLabel = new QLabel("&Phone:", this);
phoneLabel->setBuddy(phoneEdit);

使用上面的代码,当用户按下 Alt+N 时焦点会跳转到 Name 字段,当用户按下 Alt+P 时焦点会跳转到 Phone 字段。

要取消设置先前设置的伙伴小部件,调用setBuddy(nullptr)。

9、void setSelection(int start, int length)

从位置 start 开始选择 length 个字符的文本。

你可能感兴趣的:(#,Qt,Widgets基本小部件类,qt)