首页 > 编程知识 正文

label复制文字,qt opengl教程

时间:2023-05-04 22:06:14 阅读:36462 作者:1923

QLabel提供文本或图像显示,不提供与用户的交互功能。

QLabel可以包含以下内容类型之一:

设置内容纯文本使用setText (使用设置富QString文本)设置富文本QString图像使用setPixmap )设置图像的动画全部设置为int或double,转换为纯文本Nothing空纯文本,使用默认值clear (进行设置|版权声明:一、二、三里,未经博客许可,不得转载。

纯文本显示

首先,创建一个QLabel对象,它是this所属的父窗体。 通过调用setText,可以为标签设定“文本”(Hello World ),以便标签可以正常显示。 要查看更好的结果,请调用setStyleSheet并设置样式。 color: white-正如名称所示,将标签设置为文本颜色(白色)。

qlabel*plabel=newqlabel(this ); plabel-settext (问候世界); 设置样式表(color : white ); 对齐方式的默认标签文本对齐方式为左对齐和垂直对齐。 可以在setAlignment中设定。 这包括左、上、右、下和居中对齐。 通常进行水平方向、垂直方向这两种组合。

例如,中央对齐

设置对齐(Qt :3360对齐中心; 要使用样式表进行控制,请水平向右,垂直向下:

set style sheet (' qproperty-alignment : ' align bottom|align right ';' ); 如果自动换行文本太长,可以用自动换行显示。

设置word wrap (真;

注意:使用英语时,如果写为类似的格式“abcdefghijklmnopqrstuvwxyz”,则无法换行。 why? 因为之间没有空间,所以需要写“abcde fghij klmno pqrst uvwxyz”。

要设置行高,通常自动换行后文本的上下行距离很近,请使用以下方法设置行高:

设置标签word wrap (true; QString strText=QStringLiteral ((去的话二三里,烟村四五家。 亭台是六七座、八九十枝花。 " " ); qtringstrheighttext=' p style=' line-height 3360 %1%' % 2p '; strtext=strheighttext.arg(150 ).arg ) strtext; plabel-settext(strtext ); 如果省略太长,不想换行,只想将其中的一部分省略为…,可以在QFontMetrics中实现。 这里不介绍QFontMetrics。 感兴趣的童鞋请先自己研究。

QString strText=QStringLiteral ((去的话二三里,烟村四五家。 亭台是六七座、八九十枝花。 " " ); stringstrelidedtext=plabel-font metrics (.elided text (strtext,Qt:ElideRight,200,Qt 33603360 textshowmnowmnowm 默认情况下,垂直显示文本以水平方向显示。 如果需要垂直显示,则需要使用一些提示。

QString strText=QStringLiteral ('走二三里,烟村四五家。' ); plabel-settext(strtext.split (,QString:SkipEmptyParts ).join(n ) ); plabel-set alignment (Qt :3360对准中心; 您可以在助手中搜索有关富文本using HTML标记文本构件的资料,以查看Qt支持的html标记。

在下面写HTML代码吧。 o(_) o哈哈哈~。 显示不同颜色的文本和图像

qstring strhtml=qstring (htmlheadstylefont { color : white; } #f{font-size:18px; color: green; } /style /head body fon

t>%1</font><font id="f">%2</font> <br/><br/> <img src=":/Images/logo" width="100" height="100"> </body> </html>").arg("I am a ").arg("Qter");pLabel->setText(strHTML);pLabel->setAlignment(Qt::AlignCenter);

是不是很神奇?经常我们要用好几个控件来组合才能实现的功能,就仅仅几行HTML代码就搞定了。。。何乐而不为!

图像

首先我们构建一个QPixmap来作为显示的图片,然后设置标签的大小,可以通过setScaledContents按比例缩放图片达到理想的效果。

QPixmap pixmap(":/Images/logo");pLabel->setPixmap(pixmap);pLabel->setFixedSize(100, 100);pLabel->setScaledContents(true); 动画

这里我们需要使用另外一个类QMovie来控制动画,start()可以进行播放与stop()则可以停止,也可以通过调用setSpeed()来设置动画的播放速度。

QMovie *pMovie = new QMovie(":/Images/movie");pLabel->setMovie(pMovie);pLabel->setFixedSize(135, 200);pLabel->setScaledContents(true);pMovie->start(); 数字

如果我们需要显示一个数字,则可以调用setNum(),他可以将内容转换为纯文本。

pLabel->setNum(66.6);

很简单就一段代码,我们可以打开源码瞅瞅,究竟setNum是如何实现的。

void QLabel::setNum(int num){ QString str; str.setNum(num); setText(str);}

就三行代码,呵呵哒。。。超简单吧,我们要有一颗随时看源码的心!

超链接

我们需要简单使用标签<a></a>写一段简单的HTML超链接代码

方法一

比较简单,直接调用setOpenExternalLinks(true)即可。

pLabel->setText(QString("<a href = "%1">%2</a>").arg("http://blog.csdn.net/liang19890820").arg(QStringLiteral("一去丶二三里")));pLabel->setOpenExternalLinks(true); 方法二

声明一个槽openUrl,将其与linkActivated信号关联。

pLabel->setText(QString("<a href = "%1">%2</a>").arg("http://blog.csdn.net/liang19890820").arg(QStringLiteral("一去丶二三里")));connect(pLabel, SIGNAL(linkActivated(QString)), this, SLOT(openUrl(QString)));void MainWindow::openUrl(const QString &link){ QDesktopServices::openUrl(QUrl(link));} 总结

通过上面的学习,我们基本将标签的大部分用法都分享了,可以看出HTML、CSS的重要性,所以无论你现在所从事的工作是什么,或者以后做什么,我都建议好好研究下Web,技多不压身。。。上面的内容虽多,但都很简单,也很重要,所以都需要掌握,我们不只是Qter,我们更是工匠-精益求精、严谨、耐心,专注,坚持。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。