新聞中心

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

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

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

        本文引用地址:http://www.104case.com/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)閉
        主站蜘蛛池模板: 中宁县| 遵义县| 油尖旺区| 石棉县| 当涂县| 河北省| 民权县| 凉山| 新巴尔虎左旗| 清苑县| 婺源县| 金川县| 蓬安县| 仁怀市| 丹棱县| 中山市| 十堰市| 莆田市| 仙桃市| 津市市| 望奎县| 石景山区| 姜堰市| 皮山县| 万山特区| 吉水县| 文水县| 黎平县| 常山县| 清水县| 宁都县| 府谷县| 东台市| 房山区| 黄山市| 德格县| 卓尼县| 庄河市| 洮南市| 永春县| 进贤县|