999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Windows 7操作系統(tǒng)和Qt技術(shù)的電子相冊(cè)設(shè)計(jì)

2014-09-27 17:54:16燕麗紅林志雄楊星
現(xiàn)代電子技術(shù) 2014年8期
關(guān)鍵詞:跨平臺(tái)嵌入式界面

燕麗紅+林志雄+楊星

摘要: Qt是一個(gè)跨平臺(tái)的C++圖形用戶界面庫(kù),由挪威的TrollTech公司開(kāi)發(fā),能提供用于用戶應(yīng)用開(kāi)發(fā)的圖形界面及豐富的圖形庫(kù)。基于Windows 7操作系統(tǒng),采用嵌入式Qt技術(shù),C++語(yǔ)言進(jìn)行模塊化編程,設(shè)計(jì)了一款智能化的電子相冊(cè)。該相冊(cè)具有圖片加載、瀏覽、旋轉(zhuǎn)、放大與縮小、循環(huán)播放等基本功能。測(cè)試結(jié)果表明該設(shè)計(jì)具有人性化,操作簡(jiǎn)單等特點(diǎn)。

關(guān)鍵詞: Qt; Windows 7操作系統(tǒng); 模塊化編程; 電子相冊(cè)

中圖分類號(hào): TN911?34; TP273文獻(xiàn)標(biāo)識(shí)碼: A文章編號(hào): 1004?373X(2014)08?0030?02

Design of electronic photo album based on Windows 7 operating system and QT

YAN Li?hong1, LIN Zhi?xiong2, YANG Xing3

(1. Information Engineering College , Xian Eurasia Univisity, Xian , 710065, China;

2. Department of Electronics and Information Engineering, Putian University, Fujian, 351100, China;

3. Xian South Electronic Technology Co., Ltd, Xian, 710068, China )

Abstract: With the development of embedded technology, humanization and intelligent consumer electronics become more and more popular in people′s life. Qt provided by TrollTech Corporation in Norway is a cross?platform graphical user interface library of C++, which can provide visual graphic interface and rich graphics library for application program developers. An intelligent electronic photo album was designed by using Windows 7 operating system, QT embedded technology and modularization programming with C++ language. The electronic album has the basic functions of photo loading, browse, amplification, reduction, loop playback and so on. The testing result shows that the album has and is convenient to operate.

Keywords: QT; Windows 7 operating system; modularization programming; electronic albu

隨著電子電路集成化和計(jì)算機(jī)技術(shù)的快速發(fā)展,航空、醫(yī)療、消費(fèi)電子、汽車電子等眾多領(lǐng)域?qū)η度胧郊夹g(shù)應(yīng)用越來(lái)越廣泛。而作為消費(fèi)電子領(lǐng)域的產(chǎn)品電子相冊(cè)具有圖、文、聲、像并茂的表現(xiàn)手法,隨意修改編輯的功能,快速的檢索方式,永不褪色的恒久保存特性,以及廉價(jià)復(fù)制分發(fā)等傳統(tǒng)相冊(cè)無(wú)法比擬的優(yōu)越性,現(xiàn)在已得到現(xiàn)代人的青睞[1?4]。因此,采用嵌入式技術(shù),通過(guò)人機(jī)交互界面的建立進(jìn)行電子相冊(cè)設(shè)計(jì)就顯得很有十分必要。

1Qt開(kāi)發(fā)環(huán)境分析

Qt是一個(gè)跨平臺(tái)的C++圖形用戶界面庫(kù)[5?8]。由挪威的TrollTech公司開(kāi)發(fā),目前已被Nokia收購(gòu)。Qt的主要特點(diǎn)有:面向?qū)ο螅苋菀讛U(kuò)展,且允許真正的組件編程;Qt對(duì)各個(gè)模塊進(jìn)行了良好的封裝,使各模塊可重用性較好;優(yōu)良的跨平臺(tái)特性,使用Qt類編寫的程序可以實(shí)現(xiàn) “一次編碼,到處編譯”,極大的降低了跨平臺(tái)開(kāi)發(fā)的難度(丁丁等,2004);持Windows,Linux,Solaris,SunOS,F(xiàn)reeBSD,BSD/OS,SCO,AIX,OS390,QNX 等操作系統(tǒng),面向?qū)ο蠛苋菀讛U(kuò)展。Qt提供了一種稱為 signals/slots?的安全類型來(lái)替代callback,具有良好的封裝機(jī)制,可重用性較好。同時(shí)包含近700API類庫(kù),允許真正的組件編程,是一種開(kāi)源軟件,使用起來(lái)簡(jiǎn)便且高效,具有良好的可移植性,目前主流的具有移植性的GUI API開(kāi)發(fā)包有miniGUI,Qt,OpenGUI。在Qt的應(yīng)用程序中,首先要進(jìn)行初始化設(shè)置,即首先是創(chuàng)建QApplication對(duì)象,QApplication類是負(fù)責(zé)圖形用戶界面的應(yīng)用程序的控制流和主設(shè)置。Qt軟件用戶界面如圖1所示。

int main( int argc, char **argv )

{

QApplication app( argc,argv );

......}

圖1 Qt軟件用戶界面

2基于Qt的電子相冊(cè)的設(shè)計(jì)

本文基于Windows 7操作系統(tǒng),采用Qt技術(shù),利用C++語(yǔ)言[9?11]進(jìn)行模塊化編程,設(shè)計(jì)了一款電子相冊(cè),具有瀏覽、旋轉(zhuǎn)、圖片切換以及放大縮小等功能,該電子相冊(cè)還支持jpg,png,gif和bmp等格式圖片的瀏覽。見(jiàn)圖2。

圖2 電子相冊(cè)功能結(jié)構(gòu)圖

2.1電子相冊(cè)的界面設(shè)計(jì)

本設(shè)計(jì)的電子相冊(cè)界面大小設(shè)定為1 024×500,界面的左側(cè)顯示圖片文件名列表(當(dāng)前瀏覽圖片名為藍(lán)色),寬度為200,右側(cè)為圖片顯示區(qū)域,圖片顯示區(qū)域的下方為圖片放大/縮小滑動(dòng)條。該相冊(cè)界面具有OPEN(打開(kāi)圖片文件)、ZOOMIN(縮小圖片)、ZOOMOUT(放大圖片)、LOOP(幻燈片循環(huán)模式顯示)、PAUSE(暫停)和QUIT(一鍵退出)等功能按鈕,界面如圖3所示。

相冊(cè)界面大小的設(shè)定程序代碼如下:

Window::Window()

{

setFixedSize( 1024,500 );

QSplitter *splitter = new QSplitter(Qt::Horizontal);

listwidget = new QListWidget();

listwidget?>setFixedWidth(200);

......

}

2.2圖片顯示功能設(shè)計(jì)

進(jìn)入電子相冊(cè)界面后,通過(guò)界面左側(cè)的顯示可以打開(kāi)計(jì)算機(jī)存儲(chǔ)圖片所在的文件夾,將從當(dāng)前目錄下掃描xpm,jpg,png,gif格式的圖片并將其名稱存入文件夾中,通過(guò)load函數(shù)來(lái)加載圖片到一個(gè)QImage類型變量中,然后將此變量和Label關(guān)聯(lián)起來(lái),最終在Label上顯示實(shí)現(xiàn)的圖片。打開(kāi)圖片的部分代碼如下:

void Photo::load(QString filename) //打開(kāi)圖片

{

pixmap.load(filename);

m_rect = rect();

update();

}

圖3 電子相冊(cè)界面設(shè)計(jì)

2.3圖片放大與縮小功能的設(shè)計(jì)

本設(shè)計(jì)可以在任意狀態(tài)下對(duì)圖片進(jìn)行縮小,同時(shí)能保證縮小的圖片還位居相冊(cè)的中間位置,在圖片非全屏模式與全屏模式兩種情況下都可以。圖片放大的部分程序代碼:

void Photo::zoomin() {

m_rect.setWidth(m_rect.width() ? m_rect.width()/100);

m_rect.setX((rect().width() ? m_rect.width()) / 2);

m_rect.setHeight(m_rect.height() ? m_rect.height()/100);

m_rect.setY((rect().height() ? m_rect.height()) / 2);

m_slider?>setValue(m_slider?>value()?1);

update();}

2.4循環(huán)顯示圖片功能設(shè)計(jì)

通過(guò)循環(huán)模式播放選中的圖片,可以使用戶很方便地進(jìn)行照片的選擇,節(jié)約時(shí)間。本設(shè)計(jì)通過(guò)下列代碼實(shí)現(xiàn)了幻燈片循環(huán)播放的功能:

loop = new QAction(Qicon

(":/images/loop.png"),"loop", this); //幻燈片循環(huán)

loop?>setEnabled(false);

connect(loop, SIGNAL(triggered()), this, SLOT(slotStart()));

QAction *stoploop = new QAction(QIcon(":/images/stop.png"), "pause", this);

connect(stoploop, SIGNAL(triggered()), this, SLOT(slotstop()));

3結(jié)語(yǔ)

嵌入式技術(shù)的快速發(fā)展,使得嵌入式產(chǎn)品已深入人們生活,電子相冊(cè)的出現(xiàn)打破了傳統(tǒng)相冊(cè)不易保存、瀏覽等問(wèn)題。本文采用嵌入式Qt技術(shù),C++語(yǔ)言編程設(shè)計(jì)了一款電子相冊(cè),可以實(shí)現(xiàn)圖片加載、瀏覽、放大與縮小等基本功能。該設(shè)計(jì)方案具有低耦合、高內(nèi)聚、可擴(kuò)展、操作簡(jiǎn)單等良好特點(diǎn)。下一步需要完善的是對(duì)圖片按要求裁剪、插入文字、加邊框等圖片編輯功能的設(shè)計(jì)。

參考文獻(xiàn)

[1] 袁媛,王延紅,江凌,等.基于Qt及OpenCASCADE的建模技術(shù)研究[J].現(xiàn)代電子技術(shù),2013,36(10):74?77.

[2] 史桂紅.XML及GDI+在便攜式電子相冊(cè)中的應(yīng)用[J].計(jì)算機(jī)系統(tǒng)應(yīng)用,2013,22(3):161?165.

[3] 程博.基于嵌入式Qt的數(shù)字機(jī)頂盒圖形界面設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)應(yīng)用,2009(11):45?46.

[4] 趙鵬.基于嵌入式Linux的MP3播放器的設(shè)計(jì)與實(shí)現(xiàn)[J].現(xiàn)代計(jì)算機(jī),2011(3):111?112.

[5] 蔡志明.精通Qt4編程[M].2版.北京:電子工業(yè)出版社,2011.

[6] 李艷民.基于Qt跨平臺(tái)的人機(jī)交互界面的研究和應(yīng)用[D].重慶:重慶大學(xué),2007.

[7] 李亞鋒,歐文盛.嵌入式系統(tǒng)開(kāi)發(fā)從入門到精通[M].北京:清華大學(xué)出版社,2007.

[8] 衰野,王宏遠(yuǎn).一種嵌入式系統(tǒng)中GUI的設(shè)計(jì)[J].計(jì)算機(jī)與數(shù)字工程,2006(1):9?11.

[9] 袁媛,王延紅,江凌,等.C++類庫(kù)Qt在數(shù)值模擬軟件開(kāi)發(fā)中的應(yīng)用[J].現(xiàn)代電子技術(shù),2010,33(2):80?83.

[10] 譚浩強(qiáng).C++面向?qū)ο蟪绦蛟O(shè)計(jì)[M].北京:清華大學(xué)出版社,2006.

[11] BLANCHETTE Jasmin, SUMMERFIELD Mark. C++ GUI Programming with Qt4 [M]. 2版.北京:電子工業(yè)出版社,2008.

void Photo::load(QString filename) //打開(kāi)圖片

{

pixmap.load(filename);

m_rect = rect();

update();

}

圖3 電子相冊(cè)界面設(shè)計(jì)

2.3圖片放大與縮小功能的設(shè)計(jì)

本設(shè)計(jì)可以在任意狀態(tài)下對(duì)圖片進(jìn)行縮小,同時(shí)能保證縮小的圖片還位居相冊(cè)的中間位置,在圖片非全屏模式與全屏模式兩種情況下都可以。圖片放大的部分程序代碼:

void Photo::zoomin() {

m_rect.setWidth(m_rect.width() ? m_rect.width()/100);

m_rect.setX((rect().width() ? m_rect.width()) / 2);

m_rect.setHeight(m_rect.height() ? m_rect.height()/100);

m_rect.setY((rect().height() ? m_rect.height()) / 2);

m_slider?>setValue(m_slider?>value()?1);

update();}

2.4循環(huán)顯示圖片功能設(shè)計(jì)

通過(guò)循環(huán)模式播放選中的圖片,可以使用戶很方便地進(jìn)行照片的選擇,節(jié)約時(shí)間。本設(shè)計(jì)通過(guò)下列代碼實(shí)現(xiàn)了幻燈片循環(huán)播放的功能:

loop = new QAction(Qicon

(":/images/loop.png"),"loop", this); //幻燈片循環(huán)

loop?>setEnabled(false);

connect(loop, SIGNAL(triggered()), this, SLOT(slotStart()));

QAction *stoploop = new QAction(QIcon(":/images/stop.png"), "pause", this);

connect(stoploop, SIGNAL(triggered()), this, SLOT(slotstop()));

3結(jié)語(yǔ)

嵌入式技術(shù)的快速發(fā)展,使得嵌入式產(chǎn)品已深入人們生活,電子相冊(cè)的出現(xiàn)打破了傳統(tǒng)相冊(cè)不易保存、瀏覽等問(wèn)題。本文采用嵌入式Qt技術(shù),C++語(yǔ)言編程設(shè)計(jì)了一款電子相冊(cè),可以實(shí)現(xiàn)圖片加載、瀏覽、放大與縮小等基本功能。該設(shè)計(jì)方案具有低耦合、高內(nèi)聚、可擴(kuò)展、操作簡(jiǎn)單等良好特點(diǎn)。下一步需要完善的是對(duì)圖片按要求裁剪、插入文字、加邊框等圖片編輯功能的設(shè)計(jì)。

參考文獻(xiàn)

[1] 袁媛,王延紅,江凌,等.基于Qt及OpenCASCADE的建模技術(shù)研究[J].現(xiàn)代電子技術(shù),2013,36(10):74?77.

[2] 史桂紅.XML及GDI+在便攜式電子相冊(cè)中的應(yīng)用[J].計(jì)算機(jī)系統(tǒng)應(yīng)用,2013,22(3):161?165.

[3] 程博.基于嵌入式Qt的數(shù)字機(jī)頂盒圖形界面設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)應(yīng)用,2009(11):45?46.

[4] 趙鵬.基于嵌入式Linux的MP3播放器的設(shè)計(jì)與實(shí)現(xiàn)[J].現(xiàn)代計(jì)算機(jī),2011(3):111?112.

[5] 蔡志明.精通Qt4編程[M].2版.北京:電子工業(yè)出版社,2011.

[6] 李艷民.基于Qt跨平臺(tái)的人機(jī)交互界面的研究和應(yīng)用[D].重慶:重慶大學(xué),2007.

[7] 李亞鋒,歐文盛.嵌入式系統(tǒng)開(kāi)發(fā)從入門到精通[M].北京:清華大學(xué)出版社,2007.

[8] 衰野,王宏遠(yuǎn).一種嵌入式系統(tǒng)中GUI的設(shè)計(jì)[J].計(jì)算機(jī)與數(shù)字工程,2006(1):9?11.

[9] 袁媛,王延紅,江凌,等.C++類庫(kù)Qt在數(shù)值模擬軟件開(kāi)發(fā)中的應(yīng)用[J].現(xiàn)代電子技術(shù),2010,33(2):80?83.

[10] 譚浩強(qiáng).C++面向?qū)ο蟪绦蛟O(shè)計(jì)[M].北京:清華大學(xué)出版社,2006.

[11] BLANCHETTE Jasmin, SUMMERFIELD Mark. C++ GUI Programming with Qt4 [M]. 2版.北京:電子工業(yè)出版社,2008.

void Photo::load(QString filename) //打開(kāi)圖片

{

pixmap.load(filename);

m_rect = rect();

update();

}

圖3 電子相冊(cè)界面設(shè)計(jì)

2.3圖片放大與縮小功能的設(shè)計(jì)

本設(shè)計(jì)可以在任意狀態(tài)下對(duì)圖片進(jìn)行縮小,同時(shí)能保證縮小的圖片還位居相冊(cè)的中間位置,在圖片非全屏模式與全屏模式兩種情況下都可以。圖片放大的部分程序代碼:

void Photo::zoomin() {

m_rect.setWidth(m_rect.width() ? m_rect.width()/100);

m_rect.setX((rect().width() ? m_rect.width()) / 2);

m_rect.setHeight(m_rect.height() ? m_rect.height()/100);

m_rect.setY((rect().height() ? m_rect.height()) / 2);

m_slider?>setValue(m_slider?>value()?1);

update();}

2.4循環(huán)顯示圖片功能設(shè)計(jì)

通過(guò)循環(huán)模式播放選中的圖片,可以使用戶很方便地進(jìn)行照片的選擇,節(jié)約時(shí)間。本設(shè)計(jì)通過(guò)下列代碼實(shí)現(xiàn)了幻燈片循環(huán)播放的功能:

loop = new QAction(Qicon

(":/images/loop.png"),"loop", this); //幻燈片循環(huán)

loop?>setEnabled(false);

connect(loop, SIGNAL(triggered()), this, SLOT(slotStart()));

QAction *stoploop = new QAction(QIcon(":/images/stop.png"), "pause", this);

connect(stoploop, SIGNAL(triggered()), this, SLOT(slotstop()));

3結(jié)語(yǔ)

嵌入式技術(shù)的快速發(fā)展,使得嵌入式產(chǎn)品已深入人們生活,電子相冊(cè)的出現(xiàn)打破了傳統(tǒng)相冊(cè)不易保存、瀏覽等問(wèn)題。本文采用嵌入式Qt技術(shù),C++語(yǔ)言編程設(shè)計(jì)了一款電子相冊(cè),可以實(shí)現(xiàn)圖片加載、瀏覽、放大與縮小等基本功能。該設(shè)計(jì)方案具有低耦合、高內(nèi)聚、可擴(kuò)展、操作簡(jiǎn)單等良好特點(diǎn)。下一步需要完善的是對(duì)圖片按要求裁剪、插入文字、加邊框等圖片編輯功能的設(shè)計(jì)。

參考文獻(xiàn)

[1] 袁媛,王延紅,江凌,等.基于Qt及OpenCASCADE的建模技術(shù)研究[J].現(xiàn)代電子技術(shù),2013,36(10):74?77.

[2] 史桂紅.XML及GDI+在便攜式電子相冊(cè)中的應(yīng)用[J].計(jì)算機(jī)系統(tǒng)應(yīng)用,2013,22(3):161?165.

[3] 程博.基于嵌入式Qt的數(shù)字機(jī)頂盒圖形界面設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)應(yīng)用,2009(11):45?46.

[4] 趙鵬.基于嵌入式Linux的MP3播放器的設(shè)計(jì)與實(shí)現(xiàn)[J].現(xiàn)代計(jì)算機(jī),2011(3):111?112.

[5] 蔡志明.精通Qt4編程[M].2版.北京:電子工業(yè)出版社,2011.

[6] 李艷民.基于Qt跨平臺(tái)的人機(jī)交互界面的研究和應(yīng)用[D].重慶:重慶大學(xué),2007.

[7] 李亞鋒,歐文盛.嵌入式系統(tǒng)開(kāi)發(fā)從入門到精通[M].北京:清華大學(xué)出版社,2007.

[8] 衰野,王宏遠(yuǎn).一種嵌入式系統(tǒng)中GUI的設(shè)計(jì)[J].計(jì)算機(jī)與數(shù)字工程,2006(1):9?11.

[9] 袁媛,王延紅,江凌,等.C++類庫(kù)Qt在數(shù)值模擬軟件開(kāi)發(fā)中的應(yīng)用[J].現(xiàn)代電子技術(shù),2010,33(2):80?83.

[10] 譚浩強(qiáng).C++面向?qū)ο蟪绦蛟O(shè)計(jì)[M].北京:清華大學(xué)出版社,2006.

[11] BLANCHETTE Jasmin, SUMMERFIELD Mark. C++ GUI Programming with Qt4 [M]. 2版.北京:電子工業(yè)出版社,2008.

猜你喜歡
跨平臺(tái)嵌入式界面
國(guó)企黨委前置研究的“四個(gè)界面”
跨平臺(tái)APEX接口組件的設(shè)計(jì)與實(shí)現(xiàn)
搭建基于Qt的嵌入式開(kāi)發(fā)平臺(tái)
基于FANUC PICTURE的虛擬軸坐標(biāo)顯示界面開(kāi)發(fā)方法研究
嵌入式軟PLC在電鍍生產(chǎn)流程控制系統(tǒng)中的應(yīng)用
人機(jī)交互界面發(fā)展趨勢(shì)研究
手機(jī)界面中圖形符號(hào)的發(fā)展趨向
新聞傳播(2015年11期)2015-07-18 11:15:04
基于QT的跨平臺(tái)輸電鐵塔監(jiān)控終端軟件設(shè)計(jì)與實(shí)現(xiàn)
基于OPC跨平臺(tái)通信的電機(jī)監(jiān)測(cè)與診斷系統(tǒng)
基于B/S的跨平臺(tái)用戶界面可配置算法研究
主站蜘蛛池模板: 国产精品视频a| 日本精品一在线观看视频| 日韩欧美国产三级| 亚洲第一色网站| 九色视频线上播放| 国产成人精品一区二区三在线观看| 国产美女在线免费观看| 无码福利视频| 92午夜福利影院一区二区三区| 亚洲综合精品香蕉久久网| 亚洲第七页| 欧美yw精品日本国产精品| 成人在线观看不卡| 亚洲色欲色欲www在线观看| 亚洲最新网址| 久草视频一区| 色网站在线免费观看| 国产一级无码不卡视频| 国产在线欧美| 青青青视频91在线 | 一区二区自拍| 丰满少妇αⅴ无码区| 国产欧美日韩资源在线观看| 日韩在线欧美在线| 免费又黄又爽又猛大片午夜| 色婷婷国产精品视频| 色婷婷综合在线| 无码区日韩专区免费系列| 国产亚洲精品自在久久不卡| 青青久久91| 中文字幕日韩久久综合影院| 91 九色视频丝袜| 免费A级毛片无码免费视频| 成人在线综合| www.精品国产| 国产亚洲精品无码专| 久久久精品国产SM调教网站| 亚洲成在线观看 | 久久成人18免费| 性视频久久| 久久青草精品一区二区三区| 国产aⅴ无码专区亚洲av综合网| 亚洲美女一区| 成人免费网站久久久| 久久毛片免费基地| 欧美日韩精品一区二区视频| 天天婬欲婬香婬色婬视频播放| 亚洲精品在线影院| 女同国产精品一区二区| 国产精品女人呻吟在线观看| 国产福利观看| 国产男女免费完整版视频| 国产在线观看精品| 久无码久无码av无码| 亚洲人成人无码www| 久久无码高潮喷水| 国产精品浪潮Av| 岛国精品一区免费视频在线观看| 精品国产免费观看一区| 911亚洲精品| 国产香蕉国产精品偷在线观看| 亚洲日韩在线满18点击进入| 无码免费的亚洲视频| 精品少妇人妻av无码久久| 国产亚洲欧美日韩在线一区二区三区 | 久久精品66| 久久精品国产亚洲麻豆| 国产精品午夜福利麻豆| yy6080理论大片一级久久| 免费在线色| 久久婷婷国产综合尤物精品| 亚洲综合精品第一页| 国产亚洲精| 91福利片| 人妻免费无码不卡视频| 国产色爱av资源综合区| 国产激情在线视频| 欧美精品1区| 日韩在线播放中文字幕| 亚洲最猛黑人xxxx黑人猛交| 亚洲福利一区二区三区| 三上悠亚在线精品二区|