新聞中心

EEPW首頁 > 電源與新能源 > 設(shè)計應(yīng)用 > 基于Qt的嵌入式Linux通訊簿程序設(shè)計

基于Qt的嵌入式Linux通訊簿程序設(shè)計

作者: 時間:2018-08-28 來源:網(wǎng)絡(luò) 收藏

本文引用地址:http://m.butianyuan.cn/article/201808/387883.htm

新建聯(lián)系人信息包括姓名、電話、郵件及地址,在函數(shù)中定義一個字符串類型函數(shù):

ST ring lSQL ST ring

并給lSQL ST ring 賦值:

lSQLSt ring = Create Table + Const ∶∶DBTBL _ADDRESS + ( +

Const∶∶DBCOL _NAME + , + Const ∶∶DBCOL _TEL EPHONE + , +

Const∶∶DBCOL _ EMAIL + , + Const ∶∶DBCOL _ADDRESS + , + ) ;

編輯聯(lián)系人信息時,定義成員函數(shù):

void AddressBook∶∶edit Slot ()

分別在姓名、電話、郵件及地址欄中輸入信息:

ent ry - > setName (lRows[0 ]) ; / / 在第1 行0 列輸入name

ent ry - > set TelePhone (lRows[ 1 ]) ;/ / 在第1 行1 列輸入telephone

ent ry - > set Email (lRows[2 ]) ; / / 在第1 行2 列輸入email

ent ry - > setAddress (lRows[3 ]) ; / / 在第1 行3 列輸入address

刪除聯(lián)系人信息時,定義成員函數(shù):

void AddressBook∶∶delSlot ()

選擇要刪除的聯(lián)系人,從數(shù)據(jù)庫刪除該聯(lián)系人信息:

ST ring lSQLSt ring ;

lSQLSt ring = Delete f rom + Const ∶∶DBTBL _ADDRESS + where +

Const∶∶DBCOL_NAME + = + aName ;

查詢聯(lián)系人時,定義成員函數(shù):

void AddressBook∶∶searchSlot ()

在查詢框中輸入聯(lián)系人的姓名、電話、郵件及地址信息之一,選擇相應(yīng)的查詢方式:

ST ring lSQLSt ring = Select + Const ∶∶DBCOL _NAME + ,

+ Const ∶∶DBCOL _ TEL EPHONE + , + Const ∶∶DBCOL_EMAIL + ,

+ Const∶∶DBCOL _ADDRESS + f rom + Const ∶∶DBTBL_ADDRESS

+ where + Const ∶∶DBCOL _ NAME + = +aName ;

受篇幅限制,AddressBook1 h , New1 h ,New1cpp ,SQL1cpp ,SQL1 h 代碼不再給出。

1.4 編寫主函數(shù)

每一個Qt 應(yīng)用程序都包含一個主函數(shù)main1cpp . 主函數(shù)是應(yīng)用程序執(zhí)行的入口點。以下是AddressBook 的主函數(shù)文件main1cpp 的關(guān)鍵代碼:

int main (int argc , char 3 3argv)

{

QApplication AddressBook ( argc , argv ) ;/ / 創(chuàng)建Qapplication 對象,管理整個程序資源

AddressBook 3 AddressBook = new AddressBook(log) ;/ / 創(chuàng)建程序主窗口

app . setMainWidget ( mainWin ) ;/ / 設(shè)置mainWin 部件為程序的主部件

mainWin - > show() ;/ / 使mainWin 部件可視

return AddressBook. exec () ;/ / 把程序控制權(quán)交還給Qt

}

1.5 編輯工程文件

代碼編寫完成后,需要把文件AddressBook1cpp , AddressBook1 h , New1 h ,New1cpp , SQL1 h 及SQL1cpp 添加到工程文件AddressBook1pro 中:

HEADERS = AddressBook. h New. h SQL . h

SOURCES = AddressBook. cpp New. cpp SQL.cpp main. cpp

1.6 生成可執(zhí)行文件

編譯器是根據(jù)Makefile 文件內(nèi)容來進行編譯的,所以需要生成一個Makefile 文件1Qt 提供的qmake 工具可以從一個工程文件( . pro 文件) 中產(chǎn)生Makefile 文件,然后再使用make 命令對整個工程進行編譯鏈接:

生成的二進制文件AddressBook 就是可以直接運行的可執(zhí)行文件。程序運行結(jié)果如下面圖示,圖4是按照姓名(Name) 查詢聯(lián)系人Mat rix 的信息,圖5是編輯新聯(lián)系人Mat rix 的信息。

圖4 按姓名查詢聯(lián)系人

圖5 編輯新聯(lián)系人信息

程序編譯成功后可先在Virt ual f ramebuffer(虛擬緩沖幀) 中運行,確證無誤后再交叉編譯在開發(fā)板上運行。交叉編譯時要確保$Q TEDIR/ lib 下有需要在開發(fā)板上運行的庫文件。

2 結(jié)論

所設(shè)計的通訊簿程序具有對聯(lián)系人的姓名、電話、郵件地址及通訊地址等信息的記錄、新建、編輯、刪除、查詢等功能,且可按照姓名、電話、郵件地址及通訊地址4 種查詢方式來檢索聯(lián)系人。程序的設(shè)計很好地體現(xiàn)了Qt 的信號與槽機制,并且使用QtDesigner 可方便地進行可視化程序界面設(shè)計,通過使用Qt 中豐富的類函數(shù),利用其面向?qū)ο蠛湍K化的特征,避免了繁瑣的X 編程。通訊簿程序的設(shè)計對在Linux 下使用Qt 開發(fā)其他GUI 程序具有一定的指導(dǎo)意義。


上一頁 1 2 下一頁

關(guān)鍵詞: 嵌入式

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉