精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

Qt數(shù)據(jù)庫 QSqlQueryModel實例操作 下篇

移動開發(fā)
本文介紹的是Qt數(shù)據(jù)庫 QSqlQueryModel實例操作 上篇,主要介紹QSqlQueryModel類的使用方法,先來看內(nèi)容!

本文介紹的是Qt數(shù)據(jù)庫 QSqlQueryModel實例操作 下篇,接著上篇文章繼續(xù)介紹,Qt數(shù)據(jù)庫 QSqlQueryModel實例操作 下篇 剛開始我們就講到,這個模型默認是只讀的,所以我們在窗口上并不能對表格中的內(nèi)容進行修改。但是我們可以創(chuàng)建自己的模型,然后按照我們自己的意愿來顯示數(shù)據(jù)和修改數(shù)據(jù)。要想使其可讀寫,需要自己的類繼承自QSqlQueryModel,并且重寫setData() 和 flags() 兩個函數(shù)。如果我們要改變數(shù)據(jù)的顯示,就要重寫data() 函數(shù)。

下面的例子中我們讓student表的id屬性列顯示紅色,name屬性列可編輯。

1.我們在工程中添加C++ Class,然后Class name設(shè)為MySqlQueryModel,Base Class設(shè)為QSqlQueryModel,如下:

Qt數(shù)據(jù)庫 QSqlQueryModel實例操作 下篇

2.我們將mysqlquerymodel.h中的內(nèi)容更改如下:

  1. class MySqlQueryModel : public QSqlQueryModel  
  2. {  
  3. public:  
  4.     MySqlQueryModel();  
  5.     //下面三個函數(shù)都是虛函數(shù),我們對其進行重載  
  6.     Qt::ItemFlags flags(const QModelIndex &index) const;  
  7.     bool setData(const QModelIndex &index, const QVariant &value, int role);  
  8.  
  9.     QVariant data(const QModelIndex &item, int role=Qt::DisplayRole) const;  
  10.     //  
  11. private:  
  12.     bool setName(int studentId, const QString &name);  
  13.     void refresh();  
  14. }; 

然后將mysqlquerymodel.cpp文件更改如下:

  1. #include “mysqlquerymodel.h”  
  2. #include <QSqlQuery> 
  3. #include <QColor> 
  4. MySqlQueryModel::MySqlQueryModel()  
  5. {  
  6. }  
  7.  
  8. Qt::ItemFlags MySqlQueryModel::flags(  
  9.         const QModelIndex &index) const //返回表格是否可更改的標志  
  10. {  
  11.     Qt::ItemFlags flags = QSqlQueryModel::flags(index);  
  12.     if (index.column() == 1) //第二個屬性可更改  
  13.         flags |= Qt::ItemIsEditable;  
  14.     return flags;  
  15. }  
  16. bool MySqlQueryModel::setData(const QModelIndex &index, const QVariant &value, int /* role */)  
  17.         //添加數(shù)據(jù)  
  18. {  
  19.     if (index.column() < 1 || index.column() > 2)  
  20.         return false;  
  21.     QModelIndex primaryKeyIndex = QSqlQueryModel::index(index.row(), 0);  
  22.     int id = data(primaryKeyIndex).toInt(); //獲取id號  
  23.     clear();  
  24.     bool ok;  
  25.     if (index.column() == 1) //第二個屬性可更改  
  26.         ok = setName(id, value.toString());  
  27.  
  28.     refresh();  
  29.     return ok;  
  30. }  
  31. void MySqlQueryModel::refresh() //更新顯示  
  32. {  
  33.     setQuery(“select * from student”);  
  34.     setHeaderData(0, Qt::Horizontal, QObject::tr(“id”));  
  35.     setHeaderData(1, Qt::Horizontal, QObject::tr(“name”));  
  36. }  
  37. bool MySqlQueryModel::setName(int studentId, const QString &name) //添加name屬性的值  
  38. {  
  39.     QSqlQuery query;  
  40.     query.prepare(“update student set name = ? where id = ?”);  
  41.     query.addBindValue(name);  
  42.     query.addBindValue(studentId);  
  43.     return query.exec();  
  44. }  
  45. QVariant MySqlQueryModel::data(const QModelIndex &index, int role) const  
  46.         //更改數(shù)據(jù)顯示樣式  
  47. {  
  48.     QVariant value = QSqlQueryModel::data(index, role);  
  49.  
  50.     if (role == Qt::TextColorRole && index.column() == 0)  
  51.         return qVariantFromValue(QColor(Qt::red)); //***個屬性的字體顏色為紅色  
  52.     return value;  

在widget.cpp文件中添加頭文件:#include “mysqlquerymodel.h”

然后更改函數(shù)如下:

  1. void Widget::on_pushButton_clicked()  
  2. {  
  3.     QSqlQueryModel *model = new QSqlQueryModel;  
  4.     model->setQuery(“select * from student”);  
  5.     model->setHeaderData(0, Qt::Horizontal, tr(“id”));  
  6.     model->setHeaderData(1, Qt::Horizontal, tr(“name”));  
  7.     QTableView *view = new QTableView;  
  8.     view->setModel(model);  
  9.     view->show();  
  10.     MySqlQueryModel *myModel = new MySqlQueryModel; //創(chuàng)建自己模型的對象  
  11.     myModel->setQuery(“select * from student”);  
  12.     myModel->setHeaderData(0, Qt::Horizontal, tr(“id”));  
  13.     myModel->setHeaderData(1, Qt::Horizontal, tr(“name”));  
  14.     QTableView *view1 = new QTableView;  
  15.     view1->setWindowTitle(“mySqlQueryModel”); //修改窗口標題  
  16.     view1->setModel(myModel);  
  17.     view1->show();  

運行效果如下:

Qt數(shù)據(jù)庫 QSqlQueryModel實例操作 下篇

可以看到我們要的效果已經(jīng)出來了。本文章原創(chuàng)于www.yafeilinux.com

小結(jié):Qt數(shù)據(jù)庫 QSqlQueryModel實例操作 下篇的內(nèi)容介紹完了,希望本文對你有所幫助,更多資料請參考編輯推薦!

責任編輯:zhaolei 來源: 互聯(lián)網(wǎng)
相關(guān)推薦

2011-06-27 13:32:21

Qt 數(shù)據(jù)庫 QSqlQueryM

2011-07-05 14:46:34

2011-07-05 18:04:45

QT Mysql

2011-07-05 10:16:16

Qt 數(shù)據(jù)庫 SQLite

2011-06-21 15:58:20

Qt 數(shù)據(jù)庫

2011-07-01 10:55:25

Qt 登陸窗口 界面

2011-06-21 15:11:04

QT 數(shù)據(jù)庫

2011-06-27 14:44:30

Qt 數(shù)據(jù)庫 QSqlQuery

2011-07-05 16:08:10

2011-08-30 14:25:06

QT數(shù)據(jù)庫

2011-07-01 13:42:24

QT 數(shù)據(jù)庫

2011-07-05 18:11:13

Qt 數(shù)據(jù)庫

2011-06-27 12:56:28

2011-03-30 09:23:29

2009-08-19 16:30:55

C#操作Access數(shù)

2011-07-26 18:11:56

iPhone Sqlite 數(shù)據(jù)庫

2021-04-15 10:01:18

Sqlite數(shù)據(jù)庫數(shù)據(jù)庫知識

2011-07-19 11:12:07

iPhone 控制器

2010-05-19 16:31:38

MySQL數(shù)據(jù)庫

2011-06-17 09:58:26

Qt Chapter QObject
點贊
收藏

51CTO技術(shù)棧公眾號

免费黄色网页在线观看| 日本一级大毛片a一| 国产98在线| 国产剧情一区在线| 97久久精品国产| 这里只有久久精品| 特级毛片在线| 影视先锋久久| 欧美日韩高清一区二区不卡| 视频一区二区在线观看| 国产综合视频在线观看| 亚洲女人久久久| 久久电影在线| 女生影院久久| 久久久久久久高潮| 久久精品国产精品| 中文字幕在线免费看线人| 日本精品久久| 国产精品中文欧美| 91丨porny丨首页| 国产精品丝袜一区二区三区| 三级影片在线看| 性欧美1819| 乱人伦中文视频在线| 99在线视频精品| 成人激情电影一区二区| www.com亚洲| 亚洲黄色免费| 久久久www成人免费精品张筱雨| 一本色道综合久久欧美日韩精品 | 苍井空浴缸大战猛男120分钟| 性欧美高清come| 国产精品久线观看视频| 欧美激情第六页| 天天操天天爱天天干| 国产精品影视在线观看| 国产欧美一区二区三区四区| 亚洲欧美综合自拍| 国产人成精品一区二区三| 欧美激情一区二区三区成人| 三级av在线免费观看| 久久精品99久久无色码中文字幕| 亚洲欧美国产精品久久久久久久| free性中国hd国语露脸| 国产区精品视频在线观看豆花| 91精品国产欧美一区二区| 久久婷婷综合色| 78精品国产综合久久香蕉| 日本韩国欧美一区二区三区| 超碰网在线观看| 中文字幕人成乱码在线观看 | 伊人网综合在线| 手机精品视频在线观看| 国产成人涩涩涩视频在线观看| 日韩精品久久久久久免费| 国产精品毛片在线看| 欧美一乱一性一交一视频| 国产三级av片| 丝袜亚洲另类欧美| 国产精品女视频| 国产又大又黄的视频| 黑人精品欧美一区二区蜜桃| 亚洲xxxx在线| 亚洲第一黄色片| 成人成人成人在线视频| 狠狠爱一区二区三区| 台湾av在线二三区观看| 国产午夜精品久久久久久久 | 麻豆电影在线播放| 亚洲男人都懂的| 欧美一级爱爱视频| 多野结衣av一区| 欧美午夜女人视频在线| 91蝌蚪视频在线观看| 日韩av黄色| 欧美成人女星排行榜| 五十路六十路七十路熟婆| 亚洲激情77| 最近2019免费中文字幕视频三| 999精品视频在线观看播放| 欧美成人日韩| 国产69久久精品成人| 中文字字幕在线观看| 国产精品一区二区果冻传媒| 久久96国产精品久久99软件| 国产永久免费高清在线观看视频| 国产精品视频yy9299一区| 日日噜噜夜夜狠狠久久丁香五月| 国产白浆在线免费观看| 欧美性一区二区| 久久发布国产伦子伦精品| 日韩美女毛片| 久久香蕉国产线看观看av| 日韩男人的天堂| 久久精品国产精品青草| 国产色综合一区二区三区| 99re在线视频| 亚洲午夜在线视频| xxxx一级片| 成功精品影院| 日韩在线观看免费全| 国产精品一区二区6| 久久99精品久久只有精品| 国内精品一区二区| 成人在线观看亚洲| 色天天综合色天天久久| 色男人天堂av| 免费欧美视频| 欧美国产日韩一区二区三区| japanese国产在线观看| 国产v综合v亚洲欧| 亚洲午夜精品国产| 亚洲精品中文字幕| 精品少妇一区二区三区视频免付费| 一区二区三区久久久久| 亚洲美女一区| 99re视频在线播放| 午夜在线免费观看视频| 狠狠做深爱婷婷久久综合一区| 1314成人网| 日韩欧美国产精品综合嫩v| 欧美一级大片在线观看| 蜜臀av在线观看| 亚洲图片你懂的| 国产v亚洲v天堂无码久久久| 久久精品亚洲成在人线av网址| 美女久久久久久久| 一区二区视频免费| 国产精品网站一区| 日本三级免费观看| 牛牛影视久久网| 国内精品久久久久伊人av| 国产视频第二页| 国产精品久久福利| 亚洲欧美激情网| 妖精一区二区三区精品视频 | 日日狠狠久久| 色系列之999| 亚洲视频久久久| 国产欧美日韩视频一区二区| 999在线免费视频| 女优一区二区三区| 日本精品视频在线观看| 三级在线播放| 日韩欧美成人区| 老鸭窝一区二区| 一区二区三区四区五区视频在线观看 | 色偷偷中文字幕| 色婷婷综合网| 国产精品亚洲综合天堂夜夜| 人妻无码一区二区三区四区| 国产电影一区二区三区爱妃记| 亚洲美女精品久久| 男人添女荫道口图片| 国产传媒国产传媒| 亚洲激情网站| 国内精品国语自产拍在线观看| 国产一二三在线| 亚洲国产天堂久久综合网| 国产精品suv一区二区三区| 91年精品国产| 欧美午夜性生活| 久久影院一区| 亚洲xxx自由成熟| 都市激情久久综合| 日韩电影第一页| 成人免费毛片视频| 中文字幕不卡在线播放| 手机在线视频一区| 欧美日韩亚洲一区在线观看| 国产在线精品日韩| 欧美日韩成人影院| 日韩一级黄色av| www.五月天激情| 欧美日韩精品二区| www久久久久久久| 国产综合色产在线精品| 日韩黄色短视频| 国产一区网站| 91免费在线视频网站| 538视频在线| 一区二区国产精品视频| 国产老妇伦国产熟女老妇视频| 亚洲成人一区二区在线观看| 我和岳m愉情xxxⅹ视频| 精品一区二区三区的国产在线播放| 日韩a级黄色片| 久久av综合| 亚洲xxx视频| 91精品韩国| 久久久久久久久久久免费精品 | 中文字幕不卡av| 国产视频一二三四区| 黑人欧美xxxx| 波多野结衣家庭教师| 972aa.com艺术欧美| 激情视频免费网站| 精品91在线| 亚洲高清在线播放| 国产精品tv| 成人在线中文字幕| 成人美女视频| 久久69精品久久久久久久电影好| 国产中文字幕在线观看| 精品国偷自产国产一区| 亚洲天堂自拍偷拍| 午夜久久久影院| 日韩成人短视频| 国产欧美精品区一区二区三区| 免费看黄色片的网站| 老司机免费视频一区二区| 欧美日韩二三区| 欧美精品导航| 在线看视频不卡| 免费av一区| 国产视频99| 亚洲三级av| 亚洲最大福利视频网站| 欧美亚洲人成在线| 国产99视频在线观看| 精精国产xxxx视频在线中文版| 日韩专区中文字幕| 国产高清视频在线播放| 亚洲第一精品夜夜躁人人爽| jizz国产视频| 91麻豆精品国产综合久久久久久| 欧美成人精品网站| 一道本成人在线| 青青草av在线播放| 亚洲午夜免费电影| 免费人成在线观看| 一区二区三区国产豹纹内裤在线| 国产福利视频网站| 自拍偷自拍亚洲精品播放| 国产熟女一区二区| 久久亚洲综合色| 黄色国产在线观看| 99久久国产综合精品麻豆| 日本泡妞xxxx免费视频软件| 国产很黄免费观看久久| 中文字幕人妻无码系列第三区| 国产制服丝袜一区| 亚洲网中文字幕| 国产精品一区一区| 色哟哟免费视频| 国产乱色国产精品免费视频| 992kp免费看片| 国产一区二区导航在线播放| 日本精品在线| 2021久久国产精品不只是精品| 一级黄色片毛片| 国产超碰在线一区| 亚洲成人激情小说| 国产成人精品网址| www.黄色网| 成人免费看视频| 美女久久久久久久久| 波多野结衣在线aⅴ中文字幕不卡| 中国xxxx性xxxx产国| 99久久99久久精品免费看蜜桃| 99re久久精品国产| 91免费版在线看| 无码人妻aⅴ一区二区三区69岛| 国产女人18水真多18精品一级做| 国产精品久久久视频| 《视频一区视频二区| 欧美黑人一级片| 香蕉成人啪国产精品视频综合网| 在线天堂中文字幕| 欧美亚洲愉拍一区二区| 国产乱码一区二区| 亚洲成年网站在线观看| 国产在线你懂得| 日韩亚洲成人av在线| 黄色在线观看视频网站| 欧美一级淫片aaaaaaa视频| 男操女视频网站| 在线成人欧美| 国产日韩一区二区在线观看| 美女国产一区二区三区| 少妇极品熟妇人妻无码| 91麻豆国产自产在线观看| 少妇高潮惨叫久久久久| 亚洲一区二区在线免费看| 69国产精品视频免费观看| 69久久夜色精品国产69蝌蚪网| 亚洲AV午夜精品| 亚洲天堂精品在线| 怡红院在线播放| 日韩免费在线视频| 深夜福利一区二区三区| 欧美精品一区在线发布| 亚洲色图欧美| 久久精品99国产| 国产99久久久国产精品免费看| 国产精品无码一区二区三区免费| 国产精品激情偷乱一区二区∴| 国产性生活网站| 欧美亚洲国产怡红院影院| 亚洲精品久久久久久无码色欲四季| 亚洲天堂av图片| 欧美草逼视频| 国产日韩欧美91| 亚洲三级性片| 欧美这里只有精品| 免费人成精品欧美精品| 日韩精品国产一区| 国产精品对白交换视频| 国产日产精品一区二区三区| 91精品国产综合久久久久久| 黄色在线小视频| 久久免费国产精品1| 国产精品成人3p一区二区三区| 欧美一级爱爱| 亚洲精品色图| 精品人妻人人做人人爽夜夜爽| 国产精品久久久久久久岛一牛影视 | 蜜臀久久99精品久久久无需会员 | 精品国产免费久久| 免费av在线播放| 国产精品91久久久| 日韩aaa久久蜜桃av| 国产成a人亚洲精v品在线观看| 久久精品国产一区二区| 一级黄色片网址| 色94色欧美sute亚洲线路一ni | 亚洲 高清 成人 动漫| 国产91精品免费| 国产又黄又爽又无遮挡| 6080午夜不卡| 国产福利视频在线观看| 国产日韩在线观看av| 成人羞羞视频在线看网址| 欧美三级午夜理伦三级| 久久久久一区二区三区四区| 欧美一区二区三区四| 日韩av在线天堂网| 华人av在线| 久久精品国产第一区二区三区最新章节| 好吊一区二区三区| 日本精品一二三区| 欧美天天视频| 激情图片中文字幕| 中文字幕一区二区三区色视频 | 欧产日产国产精品98| 亚洲激情男女视频| 国产大学生视频| 欧美男男freegayvideosroom| 亚洲日本理论电影| 久久精品国产99国产| av片在线免费看| 欧美精品在线视频| www.在线视频| 91一区二区三区| 亚洲国产一区二区精品专区| 在线观看免费视频国产| 亚洲成a人v欧美综合天堂下载| 天天综合网在线观看| 日韩av手机在线看| 欧美一区二区性| 天天综合天天添夜夜添狠狠添| 亚洲欧美在线观看| 国产白浆在线观看| 久久久欧美精品| 五月天亚洲色图| 三级a在线观看| √…a在线天堂一区| 亚洲精品成av人片天堂无码 | 亚洲黄色有码视频| 欧美大片免费| 亚洲综合视频一区| 国产99久久久国产精品免费看 | 666欧美在线视频| 任你弄在线视频免费观看| 久久精品ww人人做人人爽| 免费的国产精品| 天天免费亚洲黑人免费| 欧美激情导航| 久久精品免费观看| 九九热国产在线| 日韩av最新在线观看| 成人免费av电影| 男人天堂成人网| 99re亚洲国产精品| 一二三区在线播放| 久久久久久久国产精品视频| 欧美美乳视频| 亚洲一级片免费观看| 岛国av一区二区在线在线观看| 在线观看av的网站| 国产精品日韩一区二区三区| 裸体一区二区| 亚洲国产成人精品综合99| 日韩av在线不卡| 一级特黄特色的免费大片视频| 91在线porny国产在线看| 懂色av.com| 色777狠狠综合秋免鲁丝| 久久精品色播| 久久精品亚洲天堂|