學(xué)習(xí)Qt有一段時間了,幾天做東西需要將Qtableview中的數(shù)據(jù)顯示在相應(yīng)的控件上,想看好久,終于搞定了,特意拿出來,和大家分享,也當(dāng)做是自己的一個學(xué)習(xí)筆記,Qt中實時將Qtableview中的內(nèi)容顯示在相應(yīng)的控件上
。
首先我的Qtableview中的的內(nèi)容是從數(shù)據(jù)庫中查找出來再顯示 出來的。下面是以個關(guān)于某個公司信息種類的數(shù)據(jù)。這是數(shù)據(jù)庫中的記錄
效果是這樣的:
點擊上面的某行數(shù)據(jù),下面的lineEdit中就會顯示出來對應(yīng)的數(shù)據(jù)。如下圖所示
再點擊第二條數(shù)據(jù),也會顯示出來。
效果很不錯,完美的實現(xiàn)了,自己非常的高興,將過程寫出來,對于初學(xué)者而言,可以參考參考。高手請路過
首先,我想到是必須建立信號和槽的連接,只有這樣才能實現(xiàn)實時的顯示,到底需要哪個信號呢?既然是鼠標的單擊,那肯定就是click信號了。
<span style="font-family:KaiTi_GB2312;font-size:18px;"> connect(ui->Supplier_tableView,SIGNAL(clicked(QModelIndex)),this,SLOT(ShowSupplyclick()));</span>將界面中的Qtableview的點擊信號,和自己寫的槽函數(shù)進行關(guān)聯(lián)。
下面是自己寫的槽函數(shù):
<span style="font-family:KaiTi_GB2312;font-size:18px;">/* *獲取當(dāng)前鼠標點擊的數(shù)據(jù)表中的內(nèi)容,并將其顯示在相應(yīng)的控件上*/void Basic_Data_Dialog::ShowSupplyclick(){ static QSqlQueryModel supplymodel(ui->Supplier_tableView); supplymodel.setQuery(QString("select * from Supply;")); int row = ui->Supplier_tableView->currentIndex().row(); QSqlRecord record = supplymodel.record(row); ui->EditsupId->setText(record.value(0).toString()); ui->EditSupName->setText(record.value(1).toString()); ui->EditSupAdress->setText(record.value(2).toString()); ui->EditSupPhon->setText(record.value(3).toString()); ui->EditSupMail->setText(record.value(4).toString()); ui->EditSupRemark->setText(record.value(5).toString());}</span>
代碼中寫的很詳細了,就不用過多的介紹了,
電腦資料
《Qt中實時將Qtableview中的內(nèi)容顯示在相應(yīng)的控件上》(http://www.lotusphilosophies.com)。上面的 record.value(0).toString() 就是對應(yīng)數(shù)據(jù)表中的某個列的屬性,必須和自己數(shù)據(jù)表中的列對應(yīng),否則顯示的內(nèi)容對應(yīng)不上,這點一點要注意。其他對于數(shù)據(jù)庫的操作很簡單,就是實現(xiàn)相應(yīng)的增加、刪除、修改功能。
只有自己真正的做出來某件事,才會發(fā)現(xiàn)其中的樂趣。
三流的環(huán)境,做一流的人……