QLabel

xiaoxiao2022-06-11  16

QLabel

The QLabel widget provides a text or image display.

可以显示的文本
void clear() void setMovie(QMovie *movie) void setNum(int num) void setNum(double num) void setPicture(const QPicture &picture) void setPixmap(const QPixmap &) void setText(const QString &)
属性的设置
函数描述setScaledContents(bool)自动适应大小void setIndent(int)文本缩进几个像素单位void setMargin(int)边距void setOpenExternalLinks(bool open)可以打开链接void setAlignment(Qt::Alignment)对齐方式void QLabel::setSelection(int start, int length)选择void setTextFormat(Qt::TextFormat)文本格式void setWordWrap(bool on)自动显示全部

还有许多继承的东西,size,font,style等

判断
函数描述hasSelectedText()判断文本是否被选择hasScaledContents()是否自动适应大小
值利用
函数描述int QLabel::selectionStart() const选中文本的第一个char
事件
virtual void changeEvent(QEvent *ev) override virtual void contextMenuEvent(QContextMenuEvent *ev) override virtual bool event(QEvent *e) override virtual void focusInEvent(QFocusEvent *ev) override virtual bool focusNextPrevChild(bool next) override virtual void focusOutEvent(QFocusEvent *ev) override virtual void keyPressEvent(QKeyEvent *ev) override virtual void mouseMoveEvent(QMouseEvent *ev) override virtual void mousePressEvent(QMouseEvent *ev) override virtual void mouseReleaseEvent(QMouseEvent *ev) override virtual void paintEvent(QPaintEvent *) override
例子
#include "mywidget.h" #include<QTextEdit> #include<QVBoxLayout> #include<QString> #include<QLabel> #include<QPixmap> #include<QMovie> mywidget::mywidget() { setWindowTitle("my widget test"); QVBoxLayout *layout=new QVBoxLayout(this); QLabel *mylabel=new QLabel; //settext() mylabel->setText("<p style=\"line-height:200%\">hello the world nihao<p>");//显示文本,行高2倍 mylabel->setAlignment(Qt::AlignRight); //右对齐 mylabel->setWordWrap(true); //自动显示越界文字 mylabel->setLineWidth(30); //行宽 QString strHTML = QString("<html> \ <head> \ <style> \ font{color:red;} #f{font-size:18px; color: green;} \ </style> \ </head> \ <body>\ <font>%1</font><font id=\"f\">%2</font> \ <br/><br/> \ <img src=\":/image/wz2.jpg\" width=\"100\" height=\"100\"> \ </body> \ </html>").arg("I am a ").arg("Qter"); mylabel->setText(strHTML); //setpixmap() QPixmap mypixmap(":/image/wz2.jpg"); mylabel->setScaledContents(true); mylabel->setPixmap(mypixmap); //setmovie() QMovie *mymovie=new QMovie(":/image/c++猿"); mylabel->setMovie(mymovie); mymovie->start(); //openlinks mylabel->setText(QString("<a href = \"%1\">%2</a>").arg("www.baidu.com") .arg(QStringLiteral("百度"))); mylabel->setOpenExternalLinks(true); layout->addWidget(mylabel); this->show(); }
转载请注明原文地址: https://www.6miu.com/read-4932017.html
最新回复(0)