創作

2017年5月24日 星期三

QT 建構Scroll Label

工作上用到,稍做紀錄。

1.先在UI上拉出 Scroll Area的元件:
 




2.在.cpp內新增QLabel:

#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QLabel>
MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);

    //預計放入的文字
    QString word = "賞螢 平溪老街閃亮亮 \n"
                     "台灣新生報 \n"
                     "【記者郭育廷、潘鴻志/新北報導】\n"
                     "台灣新生報2017年5月3日留言 \n"
                     "平溪區公所將於五月六日、七日分別於老街跟菁桐辦理賞螢活動,\n"
                     "是結合商圈導覽及賞螢的活動,歡迎有興趣的民眾可以向平溪區公所洽詢,並踴躍參加;\n"
                     "另外農業局於五月六日在新店和美山步道亦辦理一場賞螢活動,名額有限,歡迎於農業局官網「活動資訊」版塊報名參加。\n"
                     "走進平溪老街,發現路燈都包上了紅色玻璃紙,這到底有什麼特別用意呢?\n"
                     "原來每年這個季節是平溪螢火蟲活動時節,公所為了保護螢火蟲,特別將路燈包上紅色玻璃紙,避免路燈光頻干擾牠們求偶行為。\n"
                     "農業局長李玟表示,晚間六點三十分至八點是最佳賞螢時間,\n"
                     "螢火蟲是生態環境重要指標昆蟲,光害和環境變化,都會影響到螢火蟲生存,\n"
                     "平溪區公所保護螢火蟲的做法,值得大家學習跟效法,也讓市民增加螢火蟲保護觀念,\n"
                     "賞螢時要謹記不喧嘩、不捕捉、不以燈光直射螢火蟲。";


    //新建QLabel
    QLabel* wordlabel = new QLabel(word);
    //設定長寬與Scroll Widget 一樣大
    wordlabel->resize(ui->scrollArea->width(),ui->scrollArea->height());
    //將QLabel 塞入 Scroll內
    ui->scrollArea->setWidget(wordlabel);
}

MainWindow::~MainWindow()
{
    delete ui;
}



3.Run

    基本上,這樣算是完成了,拖動下面Slider Bar你就可以滑動中間的文字。

    但是,我是想要直的阿~,我想要他自動換行可以嗎~?

    那必須得加入以下設定。


4.自動換行

    wordlabel->setWordWrap(true);



5.Run

以上,完成。



沒有留言:

張貼留言