您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關(guān)Qt中QLabel怎么用的內(nèi)容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
主要成員函數(shù):
1.void setText(QString); //設(shè)置label框內(nèi)的文本.
2.void hide(); //隱藏label框.
3.void setBuddy(QWidget*); //把另一個部件設(shè)為label框的伙伴,方便快捷使用.
4.void clear(); //清空label框內(nèi)所有內(nèi)容.
5.void setPixmap(QPixmap(QString)); //設(shè)置圖片.
6.void setMovie(QMovie*); //設(shè)置電影.
7.void setScaledContents(bool); //設(shè)置是否按比例填充滿整個label框(非常重要)
8.void setToolTip(QString); //設(shè)置信息提示,鼠標放在label框上面會自動跳出文字.
9.void setToolTipDuration(int); //設(shè)置信息提示的持續(xù)時間,單位是毫秒.
10.void setAlignment(Qt::Alignment); //設(shè)置label框的對齊格式.
11.void setStyleSheet(QString); //設(shè)置label框的樣式.
根據(jù)上面的QLabel的用法,下面有個關(guān)于QLabel的程序代碼示例:
下面是程序運行后的情況:
首先進行通過Qt設(shè)計師進行布局:
以下是”c.cpp內(nèi)的代碼:”代碼中包含注釋,方便理解.
#include "c.h"c::c(QWidget *parent) : QMainWindow(parent) { //應用Qt設(shè)計師 ui.setupUi(this); //修改標題. this->setWindowTitle(QString::fromLocal8Bit("QLabel的程序?qū)嵗?")); //給QStringList填充進去圖片. initPictureList(); //給QMovie對象申請一塊空間. movie = new QMovie; //給兩個QLabel對象設(shè)置新的文本. ui.movieLabel->setText(QString::fromLocal8Bit("未顯示電影")); ui.pictureLabel->setText(QString::fromLocal8Bit("未顯示圖片")); //設(shè)置兩個label框的內(nèi)容位于中間. ui.movieLabel->setAlignment(Qt::AlignCenter | Qt::AlignHCenter); ui.pictureLabel->setAlignment(Qt::AlignCenter | Qt::AlignHCenter); //初始的時候上一張按鈕時無法點擊的,因為沒有上一張. ui.previousPictureButton->setEnabled(false); //給movieLabel設(shè)置提示框,當鼠標放在label上就會出現(xiàn)文字提示. ui.movieLabel->setToolTip(QString::fromLocal8Bit("電影真好看")); //設(shè)置文字提示的持續(xù)時間為5000毫秒,也就是5秒后自動消失. ui.movieLabel->setToolTipDuration(1000); //設(shè)置兩個label框自動填充. ui.movieLabel->setScaledContents(true); ui.pictureLabel->setScaledContents(true); //把printLineEdit設(shè)為printLabel的伙伴,這樣的話你按alt+R就會讓光標位于行編輯框內(nèi).注意:設(shè)置label名字的時候要&R. ui.printLabel->setBuddy(ui.printLineEdit); //連接信號與槽. connect(ui.startButton, SIGNAL(clicked()), this, SLOT(startMovieLabelSlot())); connect(ui.continueButton, SIGNAL(clicked()), this, SLOT(continueMovieLabelSlot())); connect(ui.previousPictureButton, SIGNAL(clicked()), this, SLOT(showPreviousPictureSlot())); connect(ui.nextPictureButton, SIGNAL(clicked()), this, SLOT(showNextPictureSlot())); } c::~c() { }//點擊開始按鈕的槽函數(shù).void c::startMovieLabelSlot() { //設(shè)置要播放的電影的路徑.注意你要把gif文件放到對應的exe程序下. movie->setFileName("Movie/0.gif"); //movieLabel應用movie. ui.movieLabel->setMovie(movie); //開始播放 movie->start(); }//點擊暫停/繼續(xù)按鈕的槽函數(shù).void c::continueMovieLabelSlot() { //判斷當前電影的狀態(tài). if (movie->state() == QMovie::Running) { movie->setPaused(true); ui.continueButton->setText(QString::fromLocal8Bit("繼續(xù)")); } else if (movie->state() == QMovie::Paused) { movie->setPaused(false); ui.continueButton->setText(QString::fromLocal8Bit("暫停")); } }void c::initPictureList() { //把所有照片的路徑都放到QStringList里去. for (int i = 0; i < 10; ++i) { QString path = "Pixmap/" + QString::number(i) + ".jpg"; pictureList.push_back(path); } }//點擊上一張按鈕的槽函數(shù).void c::showPreviousPictureSlot() { --pictureNumber; ui.pictureLabel->setPixmap(QPixmap(pictureList[pictureNumber])); if (pictureNumber == 0) { ui.previousPictureButton->setEnabled(false); } ui.nextPictureButton->setEnabled(true); }//點擊下一張按鈕的槽函數(shù).void c::showNextPictureSlot() { if (ui.pictureLabel->pixmap() != 0) ++pictureNumber; ui.pictureLabel->setPixmap(QPixmap(pictureList[pictureNumber])); if (pictureNumber == 9) { ui.nextPictureButton->setEnabled(false); } if (pictureNumber != 0) ui.previousPictureButton->setEnabled(true); }123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107
以下是”c.h”內(nèi)的代碼:
#ifndef C_H#define C_H#include <QtWidgets/QMainWindow>#include "ui_c.h"#include <QMessageBox>#include <QLabel>#include <QPushButton>#include <QMovie>#include <QPixmap>#include <QString>class c : public QMainWindow{ Q_OBJECTpublic: c(QWidget *parent = 0); ~c();private slots: void startMovieLabelSlot(); void continueMovieLabelSlot(); void showPreviousPictureSlot(); void showNextPictureSlot();private: void initPictureList(); Ui::cClass ui; QMovie *movie; QStringList pictureList; int pictureNumber = 0; };#endif // C_H1234567891011121314151617181920212223242526272829303132333435
最后是”main.cpp內(nèi)的代碼:”
#include "c.h"#include <QtWidgets/QApplication>int main(int argc, char *argv[]) { QApplication a(argc, argv); c w; w.show(); return a.exec(); }1234567891011
感謝各位的閱讀!關(guān)于“Qt中QLabel怎么用”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。