Qt入门系列开发教程基础控件篇QLabel文本标签
Posted 鱼酱2333
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Qt入门系列开发教程基础控件篇QLabel文本标签相关的知识,希望对你有一定的参考价值。
描述
QLabel 用于显示文本或图像。 不提供用户交互功能。 标签的视觉外观可以通过多种方式进行配置,并且可以用于为另一个小部件指定焦点助记键。
QLabel 可以包含以下任何内容类型
- Plain textPass:一个用setText()设置的字符串
- Rich textPass:一个包含富文本的setText().
- A pixmapPass: 一个 QPixmap 使用setPixmap()设置.
- A moviePass : QMovie 使用 setMovie(),可以播放gif
- A numberPass setNum() 的 int 或 double,它将数字转换为纯文本。
Nothing:与空的纯文本相同。 这是默认设置。 由 clear() 设置。
警告:当将 QString 传递给构造函数或调用 setText() 时,请确保清理您的输入,因为 QLabel 会尝试猜测它是将文本显示为纯文本还是富文本(html 4 标记的子集)。 您可能想显式调用 setTextFormat(),例如 如果您希望文本为纯格式但无法控制文本源(例如,当显示从 Web 加载的数据时)。
当使用这些功能中的任何一个更改内容时,任何以前的内容都会被清除。
默认情况下,标签显示左对齐、垂直居中的文本和图像,其中要显示的文本中的任何选项卡都会自动展开。 但是,可以通过多种方式调整和微调 QLabel 的外观。
可以使用 setAlignment() 和 setIndent() 调整 QLabel 小部件区域内内容的定位。 文本内容也可以使用 setWordWrap() 沿着单词边界换行。 例如,这段代码设置了一个下沉式面板,右下角有两行文本(两行都与标签的右侧齐平):
QLabel *label = new QLabel(this);
label->setFrameStyle(QFrame::Panel | QFrame::Sunken);
label->setText("first line\\nsecond line");
label->setAlignment(Qt::AlignBottom | Qt::AlignRight);
QLabel 从 QFrame 继承的属性和函数也可用于指定要用于任何给定标签的小部件框架。
QLabel 通常用作交互式小部件的标签。 为此,QLabel 提供了一种有用的机制来添加助记符(参见 QKeySequence),该助记符会将键盘焦点设置到另一个小部件(称为 QLabel 的“伙伴”)。 例如:
QLineEdit *phoneEdit = new QLineEdit(this);
QLabel *phoneLabel = new QLabel("&Phone:", this);
phoneLabel->setBuddy(phoneEdit);
API
//对齐方式
Qt::Alignment alignment() const
//获取伙伴QWidget
QWidget *buddy() const
//此属性保存标签是否将缩放其内容以填充所有可用空间。
bool hasScaledContents() const
//是否有被选中的文字
bool hasSelectedText() const
//此属性以像素为单位保存标签的文本缩进
int indent() const
int margin() const
//GIF对象
QMovie *movie() const
//打开外链
bool openExternalLinks() const
//获取图片
QPicture picture() const
QPixmap pixmap() const
QTextDocument::ResourceProvider resourceProvider() const
//选中的文字
QString selectedText() const
//返回对一个选中的索引
int selectionStart() const
//设置对齐方式
void setAlignment(Qt::Alignment)
//设置小伙伴
void setBuddy(QWidget *buddy)
//此属性以像素为单位保存标签的文本缩进
void setIndent(int)
//此属性保存边距的宽度
void setMargin(int)
//是否开启a标签
void setOpenExternalLinks(bool open)
//设置此标签的富文本资源的提供者。
void setResourceProvider(const QTextDocument::ResourceProvider &provider)
//此属性保存标签是否将缩放其内容以填充所有可用空间。
void setScaledContents(bool)
//获取指定标签在显示文本时应如何与用户输入交互。
void setSelection(int start, int length)
//设置格式
void setTextFormat(Qt::TextFormat)
void setTextInteractionFlags(Qt::TextInteractionFlags flags)
//是否开启自动换行
void setWordWrap(bool on)
//显示的文字
QString text() const
//文本格式 文本、富文本、markdown
Qt::TextFormat textFormat() const
//指定标签在显示文本时应如何与用户输入交互。
//如果标志包含 Qt::LinksAccessibleByKeyboard,则焦点策略也会自动设置为 //Qt::StrongFocus。
//如果设置了 Qt::TextSelectableByKeyboard,则焦点策略设置Qt::ClickFocus。
//默认值为 Qt::LinksAccessibleByMouse。
Qt::TextInteractionFlags textInteractionFlags() const
//此属性包含标签的自动换行策略
bool wordWrap() const
以上是关于Qt入门系列开发教程基础控件篇QLabel文本标签的主要内容,如果未能解决你的问题,请参考以下文章
Qt入门系列开发教程基础控件篇QTextBrowser文本浏览控件
Python Qt GUI设计:QLabel标签类(基础篇—11)