label qt 自動換行 Qt之QLabel

2021-10-18 06:45:22 字數 1540 閱讀 8300

這邊整理一下由這篇文章中彙總的幾個用法,因為**還算是比較簡單的,所以我就不重複了。

對齊方式

setalignment(qt::aligncenter);

setstylesheet("qproperty-alignment: 'alignbottom | alignright';");

自動換行

setwordwrap(true);

設定行高

qstring strheighttext = "

%2這個是通過html語言來實現行高的

省略qstring strelidedtext = plabel->fontmetrics().elidedtext(strtext, qt::elideright, 200, qt::textshowmnemonic);

垂直顯示

plabel->settext(strtext.split("", qstring::skipemptyparts).join("\n"));

plabel->setalignment(qt::aligncenter);

一般是水平顯示,這個主要是在每個字後面新增換行符

影象qpixmap pixmap(":/images/logo");

plabel->setpixmap(pixmap);

plabel->setfixedsize(100, 100);

plabel->setscaledcontents(true);

動畫qmovie *pmovie = new qmovie(":/images/movie");

plabel->setmovie(pmovie);

plabel->setfixedsize(135, 200);

plabel->setscaledcontents(true);

pmovie->start();

一些有關qlabel的簡單用法

顯示一段時間後消失的label框

主要適用於提示資訊,有些類似於web的訊息提示。

static void showmsg(qlabel *msg,qstring str="",int timer = 2000)

msg->settext(str);

msg->show();

qeventloop loop;

qtimer counttimer;

connect(&counttimer,signal(timeout()),&loop,slot(quit()));

counttimer.start(timer);

loop.exec();

msg->hide();

後續可以新增成為從右端劃入顯示,過一段時間自動消失。

qt有很多的效果都可以參照web裡面的效果來進行實現,比如下面的提示框的qss

color: rgb(101, 113, 128);

padding:5px;

border:1px solid #ddd;

border-left: 4px solid #39f;

snipaste_20170407_160812.png

table之自動換行

style table layout fixed word break break all word wrap break word 如果你定義了單元格的寬度,不想寬度被內容撐大,用table layout fixed word wrap break word 語法 word break norma...

css之自動換行

自動換行問題,正常字元的換行是比較合理的,而連續的數字和英文本元常常將容器撐大,挺讓人頭疼,下面介紹的是css如何實現換行的方法 對於div,p等塊級元素 正常文字的換行 亞洲文字和非亞洲文字 元素擁有預設的white space normal,當定義的寬度之後自動換行 html css如下 1.i...

CSS之自動換行

關鍵字 迅雷 google baidu 瀏覽器 容器 百分比 樣式 大家都知道連續的英文或數字能是容器被撐大,不能根據容器的大小自動換行,下面是 css如何將他們換行的方法!對於div1.ie瀏覽器 white space normal word break break all 這裡前者是遵循標準。...