Qt中即時將Qtableview中的內容顯示在相應的控制項上,qtqtableview

來源:互聯網
上載者:User

Qt中即時將Qtableview中的內容顯示在相應的控制項上,qtqtableview

        學習Qt有一段時間了,幾天做東西需要將Qtableview中的資料顯示在相應的控制項上,想看好久,終於搞定了,特意拿出來,和大家分享,也當做是自己的一個學習筆記。

    首先我的Qtableview中的的內容是從資料庫中尋找出來再顯示 出來的。下面是以個關於某個公司資訊種類的資料。這是資料庫中的記錄

    效果是這樣的:

   

點擊上面的某行資料,下面的lineEdit中就會顯示出來對應的資料。如所示

再點擊第二條資料,也會顯示出來。


效果很不錯,完美的實現了,自己非常的高興,將過程寫出來,對於初學者而言,可以參考參考。高手請路過

首先,我想到是必須建立訊號和槽的串連,只有這樣才能實現即時的顯示,到底需要哪個訊號呢?既然是滑鼠的單擊,那肯定就是click訊號了。

<span style="font-family:KaiTi_GB2312;font-size:18px;"> connect(ui->Supplier_tableView,SIGNAL(clicked(QModelIndex)),this,SLOT(ShowSupplyclick()));</span>
將介面中的Qtableview的點擊訊號,和自己寫的槽函數進行關聯。

下面是自己寫的槽函數:


<span style="font-family:KaiTi_GB2312;font-size:18px;">/* *擷取當前滑鼠點擊的資料表中的內容,並將其顯示在相應的控制項上*/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>

    代碼中寫的很詳細了,就不用過多的介紹了。上面的  record.value(0).toString() 就是對應資料表中的某個列的屬性,必須和自己資料表中的列對應,否則顯示的內容對應不上,這點一點要注意。

     其他對於資料庫的操作很簡單,就是實現相應的增加、刪除、修改功能。

     只有自己真正的做出來某件事,才會發現其中的樂趣。


   三流的環境,做一流的人……

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.