吴忠躺衫网络科技有限公司

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

Qt學習筆記之數(shù)據(jù)庫結(jié)構(gòu)設計3

jf_78858299 ? 來源:紛紜雜談 ? 作者:CY_CHEN ? 2023-02-17 11:27 ? 次閱讀

一、UI界面設計(QListWidget)

首先布局好UI界面

圖片

布局好后,我們需要在ListWidget上顯示很多內(nèi)容,但是一個字符串列表不足以完成這個需求,或者能夠完成效果也不是很好,所以需要創(chuàng)建一個新的UI頁面自定義一個條目布局。

圖片

圖片

二、sqlite數(shù)據(jù)生成

//1、根據(jù)數(shù)據(jù)庫類型來連接數(shù)據(jù)
    db = QSqlDatabase::addDatabase("QSQLITE");
    db.setDatabaseName("compary.db");
    //2、打開數(shù)據(jù)庫
    if(!db.open())
    {
        qDebug()<<"open error"<<db.lastError();
    }
    //3、根據(jù)需求,創(chuàng)建數(shù)據(jù)庫所需要表
    QSqlQuery query;
    /**
      * 員工表:staff
      * 字段名有 id name age address salary
     **/
    QString sqlCreateTable = QString ("create table staff(id integer primary key autoincrement,"
                                      "name varchar(20),"
                                      "age int,"
                                      "address varchar(50),"
                                      "salary int);");
    if(!query.exec(sqlCreateTable))
    {
        qDebug() << "create table" << db.lastError();
    }


    QString sqlInsert = QString("insert into staff(name,age,address,salary)"
                                "values('張三',20,'廣州市天河區(qū)',12000);");
    if(!query.exec(sqlInsert))
    {
        qDebug() << "Error insert into data" << db.lastError();
    }

運行程序,在SQLite中查看,數(shù)據(jù)已經(jīng)寫入數(shù)據(jù)庫表中

圖片

但是每次都這樣通過SQLite這種軟件來查看數(shù)據(jù)庫表,顯然是不方便的,所以需要直接顯示到Qt頁面上。

三、sqlite數(shù)據(jù)跟UI聯(lián)動

使用查詢按鍵,查詢數(shù)據(jù)庫表內(nèi)容,逐行顯示到Qt控件中

void SQLite_ListWidget::on_pushButton_Query_clicked()
{
    ui->listWidget->clear();//在查詢數(shù)據(jù)之前,清空列表上的內(nèi)容
    QSqlQuery query;
    QString sqlQuery = QString("select * from staff;");//1、查詢數(shù)據(jù)
    if(!query.exec(sqlQuery))
    {
        qDebug() << "Error query into data" << db.lastError();
    }


    //2、遍歷數(shù)據(jù)庫記錄
    while(query.next())
    {
        int id = query.value("id").toInt();
        QString name = query.value("name").toString();
        int age = query.value("age").toInt();
        QString address = query.value("address").toString();
        int salary = query.value("salary").toInt();


        qDebug() << "id = " << id  << "name" << name << "age = " << age <<
                    "address = " << address << "salary = " << salary;


        //3、每遍歷一條記錄,就要更新到UI控件
        //3.1、創(chuàng)建一個列表條目
        itemform* staffitem = new itemform;


        staffitem->setStaffInfo(id,name,age,address,salary);


        QListWidgetItem* item = new QListWidgetItem;


        item->setSizeHint(QSize(412,27));


        ui->listWidget->addItem(item);
        ui->listWidget->setItemWidget(item,staffitem);
    }
}

其中


staffitem->setStaffInfo(id,name,age,address,salary);

是設置數(shù)據(jù)到item中,需要在itemform.cpp中定義該函數(shù)


void itemform::setStaffInfo(int id, QString name, int age, QString addr, int salary)
{
    ui->label_id->setText(QString::number(id));
    ui->label_name->setText(name);
    ui->label_age->setText(QString::number(age));
    ui->label_addr->setText(addr);
    ui->label_salary->setText(QString::number(salary));
}
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 數(shù)據(jù)庫

    關注

    7

    文章

    3846

    瀏覽量

    64685
  • SQlite
    +關注

    關注

    0

    文章

    78

    瀏覽量

    16020
  • ui界面
    +關注

    關注

    0

    文章

    11

    瀏覽量

    1584
收藏 人收藏

    評論

    相關推薦

    數(shù)據(jù)庫系統(tǒng)是什么?數(shù)據(jù)庫系統(tǒng)概念數(shù)據(jù)庫設計資料免費下載

      什么是概念結(jié)構(gòu)設計1.將需求分析得到的用戶需求抽象為信息結(jié)構(gòu)即概念模型的過程就是概念結(jié)構(gòu)設計2.概念結(jié)構(gòu)是各種數(shù)據(jù)模型的共同基礎,它比
    發(fā)表于 09-07 14:34 ?1次下載
    <b class='flag-5'>數(shù)據(jù)庫</b>系統(tǒng)是什么?<b class='flag-5'>數(shù)據(jù)庫</b>系統(tǒng)概念<b class='flag-5'>之</b><b class='flag-5'>數(shù)據(jù)庫</b>設計資料免費下載

    如何進行數(shù)據(jù)庫設計?數(shù)據(jù)庫設計介紹和需求分析及結(jié)構(gòu)設計資料概述

    數(shù)據(jù)庫設計的任務是指根據(jù)需求研制數(shù)據(jù)庫結(jié)構(gòu)并應用 數(shù)據(jù)庫的過程。數(shù)據(jù)庫設計內(nèi)容包括數(shù)據(jù)庫
    發(fā)表于 09-13 17:05 ?0次下載
    如何進行<b class='flag-5'>數(shù)據(jù)庫</b>設計?<b class='flag-5'>數(shù)據(jù)庫</b>設計介紹和需求分析及<b class='flag-5'>結(jié)構(gòu)設計</b>資料概述

    如何使用PowerDesigner進行數(shù)據(jù)庫靜態(tài)結(jié)構(gòu)設計?詳細資料概述

    把用戶需求抽象為概念模型即為概念結(jié)構(gòu)設計。 概念模型除了要求能反映客觀世界并且易于理解外,還要求其易于向數(shù)據(jù)模型(如關系模型)轉(zhuǎn)化。 概念模型獨立于具體的數(shù)據(jù)庫系統(tǒng),是整個數(shù)據(jù)庫
    發(fā)表于 09-13 17:05 ?0次下載
    如何使用PowerDesigner進行<b class='flag-5'>數(shù)據(jù)庫</b>靜態(tài)<b class='flag-5'>結(jié)構(gòu)設計</b>?詳細資料概述

    數(shù)據(jù)庫靜態(tài)結(jié)構(gòu)如何設計?詳細資料任務和方法說明

    任務:實現(xiàn)數(shù)據(jù)庫設計新奧爾良方法中概念結(jié)構(gòu)設計和邏輯結(jié)構(gòu)設計
    發(fā)表于 09-27 15:32 ?1次下載
    <b class='flag-5'>數(shù)據(jù)庫</b>靜態(tài)<b class='flag-5'>結(jié)構(gòu)</b>如何設計?詳細資料任務和方法說明

    數(shù)據(jù)庫教程之如何進行數(shù)據(jù)庫設計

    本文檔的主要內(nèi)容詳細介紹的是數(shù)據(jù)庫教程之如何進行數(shù)據(jù)庫設計內(nèi)容包括了:1 數(shù)據(jù)庫設計概述 ,2 數(shù)據(jù)庫需求分析 ,3
    發(fā)表于 10-19 10:41 ?21次下載
    <b class='flag-5'>數(shù)據(jù)庫</b>教程之如何進行<b class='flag-5'>數(shù)據(jù)庫</b>設計

    數(shù)據(jù)庫設計的七大知識點總結(jié)詳細資料免費下載

    本文檔的主要內(nèi)容詳細介紹的是數(shù)據(jù)庫設計的七大知識點總結(jié)包括了:1 數(shù)據(jù)庫設計概述2 需求分析3 概念結(jié)構(gòu)設計4 邏輯結(jié)構(gòu)設計5
    發(fā)表于 10-19 10:41 ?0次下載
    <b class='flag-5'>數(shù)據(jù)庫</b>設計的七大知識點總結(jié)詳細資料免費下載

    數(shù)據(jù)庫學習入門資料數(shù)據(jù)庫的概念結(jié)構(gòu)詳細資料概述

    什么是概念結(jié)構(gòu)設計 將需求分析得到的用戶需求抽象為信息結(jié)構(gòu)即概念模型的過程就是概念結(jié)構(gòu)設計 概念結(jié)構(gòu)是各種數(shù)據(jù)模型的共同基礎,它比
    發(fā)表于 10-25 16:29 ?0次下載
    <b class='flag-5'>數(shù)據(jù)庫</b><b class='flag-5'>學習</b>入門資料<b class='flag-5'>之</b><b class='flag-5'>數(shù)據(jù)庫</b>的概念<b class='flag-5'>結(jié)構(gòu)</b>詳細資料概述

    數(shù)據(jù)庫概念結(jié)構(gòu)是如何設計的概念結(jié)構(gòu)設計資料概述

    本文檔的主要內(nèi)容詳細介紹的是數(shù)據(jù)庫概念結(jié)構(gòu)是如何設計的概念結(jié)構(gòu)設計資料概述主要內(nèi)容包括了:1 概念結(jié)構(gòu)2 概念結(jié)構(gòu)設計的方法與步驟
    發(fā)表于 10-26 11:49 ?22次下載
    <b class='flag-5'>數(shù)據(jù)庫</b>概念<b class='flag-5'>結(jié)構(gòu)</b>是如何設計的概念<b class='flag-5'>結(jié)構(gòu)設計</b>資料概述

    數(shù)據(jù)庫的設計概念總結(jié)

    本文檔的主要內(nèi)容詳細介紹的是數(shù)據(jù)庫的設計概念總結(jié)主要內(nèi)容包括了:1.數(shù)據(jù)庫設計概述,2.需求分析,3.概念結(jié)構(gòu)設計,4.邏輯結(jié)構(gòu)設計,5.
    發(fā)表于 01-09 17:29 ?13次下載
    <b class='flag-5'>數(shù)據(jù)庫</b>的設計概念總結(jié)

    數(shù)據(jù)庫設計開發(fā)案例教程之數(shù)據(jù)庫設計的資料介紹

    本文檔的主要內(nèi)容詳細介紹的是數(shù)據(jù)庫設計開發(fā)案例教程之數(shù)據(jù)庫設計的資料介紹主要內(nèi)容包括了:1 數(shù)據(jù)庫設計概述,2 需求分析,3 概念結(jié)構(gòu)設計
    發(fā)表于 01-11 11:20 ?17次下載
    <b class='flag-5'>數(shù)據(jù)庫</b>設計開發(fā)案例教程之<b class='flag-5'>數(shù)據(jù)庫</b>設計的資料介紹

    Qt學習筆記數(shù)據(jù)庫結(jié)構(gòu)設計1

    數(shù)據(jù)庫也是應用程序的重要部分,一個完整的應用程序幾乎都包含數(shù)據(jù)庫。 當前主流的數(shù)據(jù)庫有DB2、MYSQL、OCI、ODBC、SQLITE、TDS、Oracle。 Sqlite是一款輕型的
    的頭像 發(fā)表于 02-17 11:25 ?823次閱讀
    <b class='flag-5'>Qt</b><b class='flag-5'>學習</b><b class='flag-5'>筆記</b><b class='flag-5'>之</b><b class='flag-5'>數(shù)據(jù)庫</b><b class='flag-5'>結(jié)構(gòu)設計</b>1

    Qt學習筆記數(shù)據(jù)庫結(jié)構(gòu)設計2

    數(shù)據(jù)庫也是應用程序的重要部分,一個完整的應用程序幾乎都包含數(shù)據(jù)庫。 當前主流的數(shù)據(jù)庫有DB2、MYSQL、OCI、ODBC、SQLITE、TDS、Oracle。 Sqlite是一款輕型的
    的頭像 發(fā)表于 02-17 11:25 ?573次閱讀
    <b class='flag-5'>Qt</b><b class='flag-5'>學習</b><b class='flag-5'>筆記</b><b class='flag-5'>之</b><b class='flag-5'>數(shù)據(jù)庫</b><b class='flag-5'>結(jié)構(gòu)設計</b>2

    Qt學習筆記數(shù)據(jù)庫結(jié)構(gòu)設計5

    Qt中,Qt為SQL數(shù)據(jù)庫提供支持的基本模塊。Qt SQL的API分為不同的層: ·驅(qū)動層 ·SQL API層 ·用戶接口層
    的頭像 發(fā)表于 02-17 13:56 ?836次閱讀
    <b class='flag-5'>Qt</b><b class='flag-5'>學習</b><b class='flag-5'>筆記</b><b class='flag-5'>之</b><b class='flag-5'>數(shù)據(jù)庫</b><b class='flag-5'>結(jié)構(gòu)設計</b>5

    Qt學習筆記數(shù)據(jù)庫結(jié)構(gòu)設計6

    Qt中,Qt為SQL數(shù)據(jù)庫提供支持的基本模塊。Qt SQL的API分為不同的層: ·驅(qū)動層 ·SQL API層 ·用戶接口層
    的頭像 發(fā)表于 02-17 13:57 ?559次閱讀
    <b class='flag-5'>Qt</b><b class='flag-5'>學習</b><b class='flag-5'>筆記</b><b class='flag-5'>之</b><b class='flag-5'>數(shù)據(jù)庫</b><b class='flag-5'>結(jié)構(gòu)設計</b>6

    Qt學習筆記數(shù)據(jù)庫結(jié)構(gòu)設計7

    Qt中,Qt為SQL數(shù)據(jù)庫提供支持的基本模塊。Qt SQL的API分為不同的層: ·驅(qū)動層 ·SQL API層 ·用戶接口層
    的頭像 發(fā)表于 02-17 13:57 ?566次閱讀
    <b class='flag-5'>Qt</b><b class='flag-5'>學習</b><b class='flag-5'>筆記</b><b class='flag-5'>之</b><b class='flag-5'>數(shù)據(jù)庫</b><b class='flag-5'>結(jié)構(gòu)設計</b>7
    澳门百家乐官网网络游戏信誉怎么样| 百家乐现金网平台排行榜| 新濠百家乐的玩法技巧和规则 | 大发888游戏好吗| 博狗百家乐官网现场| 百家乐官网讲坛汉献| 伯爵百家乐娱乐平台| 大发888,| 怎么玩百家乐官网的玩法技巧和规则| 功夫百家乐的玩法技巧和规则| 黑河市| 陇西县| 娱乐城百家乐论坛| 百家乐投注网| 网页百家乐官网的玩法技巧和规则| 百家乐是个什么样的游戏 | 娱乐城送| 怎么玩百家乐官网的玩法技巧和规则| 新全讯网xb112| 百家乐官网网站源码| 威尼斯人娱乐城排名| 百家乐官网群boaicai| 百家乐赌博公司| 太原市| 百家乐分析仪有真的吗| 百家乐官网庄家抽水| 百家乐双面数字筹码怎么出千| 百家乐官网技术交流群| 百家乐强弱走势| 旧金山百家乐官网的玩法技巧和规则| 太阳城巴黎左岸| 基础百家乐官网规则| 大发888赌场的微博| 最佳场百家乐官网的玩法技巧和规则 | 赌百家乐官网咋赢对方| 百家乐代理荐| 百家乐官网博彩策略| 大三巴百家乐的玩法技巧和规则 | 大都会百家乐的玩法技巧和规则| 百家乐官网投注技巧球讯网| 金域百家乐的玩法技巧和规则 |