Qt快速入門第三版 3 3 1QFram類練習

2021-07-31 10:09:05 字數 2073 閱讀 3707

在qt設計器中從部件列表裡面拖入乙個frame到介面上,然後在右下方的屬性欄中更改其frameshape為box,frameshadow為sunken,linewidth為5,midlinewidth為10,在屬性欄中設定部件的屬性,這和在原始碼中使用**實現是等效的.

,以上截圖效果,在原始碼中實現的效果是一樣的,直接在mywidget.cpp檔案中的mywidget建構函式裡使用下面的**來代替:

ui->frame->setframeshape(qframe::box);

ui->frame->setframeshadow(qframe::sunken);

ui->frame->setlinewidth(5);

ui->frame->setmidlinewidth(10);

在設計器中向介面中拖入乙個label,然後將其拖大點,並在屬性欄中設定對其方式alignment的屬性,水平的改為alignhcenter,垂直的改為alignvcenter,這樣qlabel中的文字就會在正中間顯示。font屬性可以對字型進行設定,也可以通過**進行設定,在mywidget.cpp檔案中的建構函式新增

qfont font;

font.setfamily("華文行楷");

font.setpointsize(20);

font.setbold(true);

font.setitalic(true);

ui->label->setfont(font);

qlabel屬性欄中的wordwrap屬性可以實現文字的自動換行

如果文字過長時不想自動換行,而是在後面自動省略,那麼可以使用qfontmetrics類,該類用來計算給定字元的字元或者字串的大小,要使用qfontmeterics,則可以通過建立物件的方式,或者qwidget::fontmetrics()來返回當前部件字型的qfontmetics物件

qfontmetrics類的elidedtext()函式用來進行文字省略

第乙個引數用來指定要省略的文字;

第二個引數是省略模式,就是"..."省略號出現的位置,包括qt::elideleft 出現在文字開頭,qt::elidemiddle 出現在文字中間,qt::elideright出現在文字末尾;

第三個引數是文字的長度,單位是畫素,只要第乙個引數指定的文字的長度超過了這個值,就會進行省略。

以上執行出錯的原因就是:

ui->setupui(this);放在mywidget.cpp檔案中建構函式mywdget中的最後一行

在mywidget.cpp檔案中分別新增以下**:

#include

ui->label->setpixmap(qpixmap("e:/logo.png"));
新增上面兩句**後,就可以顯示g盤中的logo.png。
以上的執行效果截圖和動態效果顯示圖一樣,所以同一放在最後的截圖顯示.
qlabel中還可以顯示gif動態,在mywidget.cpp檔案中新增標頭檔案
#include
然後在mywigget建構函式中繼續新增**:
qmovie *movie = new qmovie("e:/donghua.gif");

ui->label->setmovie(movie); // 在標籤中新增動畫

movie->start();

執行效果如下圖所示:

不足之處還請大家指正

黑客攻防實戰入門 第三版

黑客攻防實戰入門 第三版 內容簡介 黑客攻防實戰入門 第三版 從 攻 防 兩個不同的角度,通過現實中的入侵例項,並結合作者的心得體會,並茂地再現了網路入侵與防禦的全過程。本書共分為8章,系統地介紹了入侵的全部過程,以及相應的防禦措施和方法。其中包括資訊的收集與掃瞄 本地入侵 木馬圈套 遠端控制 we...

黑客攻防實戰入門 第三版

黑客攻防實戰入門 第三版 內容簡介 黑客攻防實戰入門 第三版 從 攻 防 兩個不同的角度,通過現實中的入侵例項,並結合作者的心得體會,並茂地再現了網路入侵與防禦的全過程。本書共分為8章,系統地介紹了入侵的全部過程,以及相應的防禦措施和方法。其中包括資訊的收集與掃瞄 本地入侵 木馬圈套 遠端控制 we...

黑客攻防實戰入門 第三版

黑客攻防實戰入門 第三版 基本資訊 內容簡介 黑客攻防實戰入門 第三版 從 攻 防 兩個不同的角度,通過現實中的入侵例項,並結合作者的心得體會,並茂地再現了網路入侵與防禦的全過程。本書共分為8章,系統地介紹了入侵的全部過程,以及相應的防禦措施和方法。其中包括資訊的收集與掃瞄 本地入侵 木馬圈套 遠端...