這篇文章給大家分享的是有關(guān)Qt中QLabel怎么用的內(nèi)容。小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過來看看吧。
讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來自于我們對這個(gè)行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價(jià)值的長期合作伙伴,公司提供的服務(wù)項(xiàng)目有:域名與空間、虛擬主機(jī)、營銷軟件、網(wǎng)站建設(shè)、雜多網(wǎng)站維護(hù)、網(wǎng)站推廣。
主要成員函數(shù):
1.void setText(QString); //設(shè)置label框內(nèi)的文本.
2.void hide(); //隱藏label框.
3.void setBuddy(QWidget*); //把另一個(gè)部件設(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è)置是否按比例填充滿整個(gè)label框(非常重要)
8.void setToolTip(QString); //設(shè)置信息提示,鼠標(biāo)放在label框上面會自動(dòng)跳出文字.
9.void setToolTipDuration(int); //設(shè)置信息提示的持續(xù)時(shí)間,單位是毫秒.
10.void setAlignment(Qt::Alignment); //設(shè)置label框的對齊格式.
11.void setStyleSheet(QString); //設(shè)置label框的樣式.
根據(jù)上面的QLabel的用法,下面有個(gè)關(guān)于QLabel的程序代碼示例:
下面是程序運(yùn)行后的情況:
以下是”c.cpp內(nèi)的代碼:”代碼中包含注釋,方便理解.
#include "c.h"c::c(QWidget *parent) : QMainWindow(parent) { //應(yīng)用Qt設(shè)計(jì)師 ui.setupUi(this); //修改標(biāo)題. this->setWindowTitle(QString::fromLocal8Bit("QLabel的程序?qū)嵗?")); //給QStringList填充進(jìn)去圖片. initPictureList(); //給QMovie對象申請一塊空間. movie = new QMovie; //給兩個(gè)QLabel對象設(shè)置新的文本. ui.movieLabel->setText(QString::fromLocal8Bit("未顯示電影")); ui.pictureLabel->setText(QString::fromLocal8Bit("未顯示圖片")); //設(shè)置兩個(gè)label框的內(nèi)容位于中間. ui.movieLabel->setAlignment(Qt::AlignCenter | Qt::AlignHCenter); ui.pictureLabel->setAlignment(Qt::AlignCenter | Qt::AlignHCenter); //初始的時(shí)候上一張按鈕時(shí)無法點(diǎn)擊的,因?yàn)闆]有上一張. ui.previousPictureButton->setEnabled(false); //給movieLabel設(shè)置提示框,當(dāng)鼠標(biāo)放在label上就會出現(xiàn)文字提示. ui.movieLabel->setToolTip(QString::fromLocal8Bit("電影真好看")); //設(shè)置文字提示的持續(xù)時(shí)間為5000毫秒,也就是5秒后自動(dòng)消失. ui.movieLabel->setToolTipDuration(1000); //設(shè)置兩個(gè)label框自動(dòng)填充. ui.movieLabel->setScaledContents(true); ui.pictureLabel->setScaledContents(true); //把printLineEdit設(shè)為printLabel的伙伴,這樣的話你按alt+R就會讓光標(biāo)位于行編輯框內(nèi).注意:設(shè)置label名字的時(shí)候要&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() { }//點(diǎn)擊開始按鈕的槽函數(shù).void c::startMovieLabelSlot() { //設(shè)置要播放的電影的路徑.注意你要把gif文件放到對應(yīng)的exe程序下. movie->setFileName("Movie/0.gif"); //movieLabel應(yīng)用movie. ui.movieLabel->setMovie(movie); //開始播放 movie->start(); }//點(diǎn)擊暫停/繼續(xù)按鈕的槽函數(shù).void c::continueMovieLabelSlot() { //判斷當(dāng)前電影的狀態(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); } }//點(diǎn)擊上一張按鈕的槽函數(shù).void c::showPreviousPictureSlot() { --pictureNumber; ui.pictureLabel->setPixmap(QPixmap(pictureList[pictureNumber])); if (pictureNumber == 0) { ui.previousPictureButton->setEnabled(false); } ui.nextPictureButton->setEnabled(true); }//點(diǎn)擊下一張按鈕的槽函數(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)容可以對大家有一定的幫助,讓大家可以學(xué)到更多知識,如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!
網(wǎng)站題目:Qt中QLabel怎么用
網(wǎng)站鏈接:http://aaarwkj.com/article40/pjcoeo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供外貿(mào)網(wǎng)站建設(shè)、Google、服務(wù)器托管、做網(wǎng)站、搜索引擎優(yōu)化、網(wǎng)頁設(shè)計(jì)公司
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)