導航:首頁 > 凈水問答 > qtablewidget過濾數據

qtablewidget過濾數據

發布時間:2022-08-13 13:20:21

『壹』 QTableWidgetItem::setFlags()是干什麼用的

【QTableWidget介紹】

QTableWidget是QT程序中常用的顯示數據表格的空間,很類似於VC、C#中的DataGrid。說到QTableWidget,就必須講一下它跟QTabelView的區別了。QTableWidget是QTableView的子類,主要的區別是QTableView可以使用自定義的數據模型來顯示內容(也就是先要通過setModel來綁定數據源),而QTableWidget則只能使用標準的數據模型,並且其單元格數據是QTableWidgetItem的對象來實現的(也就是不需要數據源,將逐個單元格內的信息填好即可)。這主要體現在QTableView類中有setModel成員函數,而到了QTableWidget類中,該成員函數變成了私有。使用QTableWidget就離不開QTableWidgetItem。QTableWidgetItem用來表示表格中的一個單元格,正個表格都需要用逐個單元格構建起來。

【QTableWidget的用法】


『貳』 QT中的QtableWidget和QtableView使用有什麼區別

主要使用QTableView和QTableWidget中的三個函數實現 QTableView::verticalScrollBar()->setSliderPosition(); //設置當前滑動條的位置 QTableView::verticalScrollBar()->maximum(); //滑動條能移動的最大位置 QTableView::verticalScrollBar()->value(); //獲得當前滑動條的位置 QTableWidget是一個表示二維離散數組的表格。它在給定維度里顯示當前用戶滾動的單元格。當用戶在一個空的單元格中輸入一些文本時,QTableWidget自動創建一個QTableWidgetItem對象保存輸入的文本。 Qt 4推出了一組新的item view類,它們使用model/view結構來管理數據與表示層的關系。這種結構帶來的 功能上的分離給了開發人員更大的彈性來定製數據項的表示,它也提供一個標準的model介面,使得更多的 數據源可以被這些item view使用。這里對model/view的結構進行了描述,結構中的每個組件都進行了解釋, 給出了一些例子說明了提供的這些類如何使用。 Model/View 結構 Model-View-Controller(MVC), 是從Smalltalk發展而來的一種設計模式,常被用於構建用戶界面。經典設計模式的著作中有這樣的描述: MVC 由三種對象組成。Model是應用程序對象,View是它的屏幕表示,Controller定義了用戶界面如何對用戶輸入進行響應。在MVC之前,用戶界面設計傾向於三者揉合在一起,MVC對它們進行了解耦,提高了靈活性與重用性。 假如把 view與controller結合在一起,結果就是model/view結構。這個結構依然是把數據存儲與數據表示進行了分離,它與MVC都基於同樣的思想,但它更簡單一些。這種分離使得在幾個不同的view上顯示同一個數據成為可能,也可以重新實現新的view,而不必改變底層的數據結構。為了更靈活的對用戶輸入進行處理,引入了delegate這個概念。它的好處是,數據項的渲染與編程可以進行定製。 如上圖所示,model與數據源通訊,並提供介面給結構中的別的組件使用。通訊的性質依賴於數據源的種類 與model實現的方式。view從model獲取model indexes,後者是數據項的引用。通過把model indexes提供給model,view可以從數據源中獲取數據。 在標準的 views中,delegate會對數據項進行渲染,當某個數據項被選中時,delegate通過model indexes與model直接進行交流。總的來說,model/view 相關類可以被分成上面所提到的三組:models,views,delegates。這些組件通過抽象類來定義,它們提供了共同的介面,在某些情況下,還提供了預設的實現。抽象類意味著需要子類化以提供完整的其他組件希望的功能。這也允許實現定製的組件。models,views,delegates之間通過信號,槽機制來進行通訊: 從model發出的信號通知view數據源中的數據發生了改變。 從view發出的信號提供了有關被顯示的數據項與用戶交互的信息。 從delegate發生的信號被用於在編輯時通知model和view關於當前編輯器的狀態信息。 Models 所有的item models都基於QAbstractItemModel類,這個類定義了用於views和delegates訪問數據的介面。 數據本身不必存儲在model,數據可被置於一個數據結構或另外的類,文件,資料庫,或別的程序組件中。 關於model的基本概念在Model Classes部分中描述。 QAbstractItemModel提供給數據一個介面,它非常靈活,基本滿足views的需要,無論數據用以下任何樣的形式 表現,如tables,lists,trees。然而,當你重新實現一個model時,如果它基於table或list形式的數據結構,最好從QAbstractListModel,QAbstractTableModel開始做起,因為它們提供了適當的常規功能的預設實現。這些類可以被子類化以支持特殊的定製需求。子類化model的過程在Create New Model部分討論 QT提供了一些現成的models用於處理數據項: QStringListModel 用於存儲簡單的QString列表。 QStandardItemModel 管理復雜的樹型結構數據項,每項都可以包含任意數據。 QDirModel 提供本地文件系統中的文件與目錄信息。 QSqlQueryModel, QSqlTableModel,QSqlRelationTableModel用來訪問資料庫。 假如這些標准Model不滿足你的需要,你應該子類化QAbstractItemModel,QAbstractListModel或是 QAbstractTableModel來定製。 Views 不同的view都完整實現了各自的功能:QListView把數據顯示為一個列表,QTableView把Model 中的數據以table的形式表現,QTreeView 用具有層次結構的列表來顯示model中的數據。這些類都基於QAbstractItemView抽象基類,盡管這些類都是現成的,完整的進行了實現,但它們都可以用於子類化以便滿足定製需求。 Delegates QAbstractItemDelegate 是model/view架構中的用於delegate的抽象基類。預設的delegate實現在QItemDelegate類中提供。它可以用於Qt標准views的預設 delegate. 排序 在model/view架構中,有兩種方法進行排序,選擇哪種方法依賴於你的底層Model。 假如你的model是可排序的,也就是它重新實現了QAbstractItemModel::sort()函數,QTableView與QTreeView都提供了API,允許你以編程的方式對Model數據進行排序。另外,你也可以進行交互方式下的排序(例如,允許用戶通過點擊view表頭的方式對數據進行排序),可以這樣做:把QHeaderView::sectionClicked()信號與QTableView::sortByColum()槽或QTreeView::sortByColumn()槽進行聯結就好了。 另一種方法是,假如你的model沒有提供需要的介面或是你想用list view表示數據,可以用一個代理 model在用view表示數據之前對你的model數據結構進行轉換。 便利類 許多便利類都源於標準的view類,它們方便了那些使用Qt中基於項的view與table類,它們不應該被子類化, 它們只是為Qt 3的等價類提供一個熟悉的介面。這些類有QListWidget,QTreeWidget,QTableWidget,它們提供了如Qt 3中的QListBox, QlistView,QTable相似的行為。這些類比View類缺少靈活性,不能用於任意的models,推介使用model/view的方法處理數據。

『叄』 如何讓qtablewidget動態顯示獲取到的數據數據

讓第11行顯示到第1行很方便,只要讓ui->tableWidget->insertRow(0);就行了
ui->tableWidget->insertRow(0);
ui->tableWidget->setItem(0,
0,
new
QTableWidgetItem("cj"));
ui->tableWidget->setItem(0,
1,
new
QTableWidgetItem(QString::number(test_number)));
獲取到一行就添加一行,建議LZ可以用QTimer定時器,每秒觸發一次更新tablewidget的槽函數
QTimer
*widget_timer
=
new
QTimer(this);

『肆』 Qt有沒有第三方的數據表格控制項

QTableWidget是QT對話框設計中常用的顯示數據表格的控制項,QTableWidget單元格數據是QTableWidgetItem對象來實現的,整個表格都需要用逐個單元格對象QTableWidgetItem構建起來。

『伍』 Qt怎麼把QTableWidget表格中的數據讀取出來

1、使用QDataStream進行二進制數據讀寫。

『陸』 qt qtablewidget新增inseetrow時出現虛假行

可能是設置了自動排序功能。
出現虛假行的原因一般是設置了QTableWidget的自動排序功能,取消掉自動排序,再添加數據就正常了。

『柒』 如何刷新QTableWidget里的數據

QTableWidgetItem *item = currentItem();
或QList<QTableWidgetItem *> items = selectedItems();
得到item後你要QTableWidgetItem::data或QTableWidgetItem::text等我不懂了,看你存什麼做什麼

『捌』 qtablewidget clearcontents 崩潰

第一種清空方式,經過反復驗證,內存下降到13M左右,且不會崩潰。第二種方式:記錄控制項的指針,這種並沒有什麼效果,內存沒有什麼變化,始終在21M左右,可能引發崩潰。
clear()會清除table中所有可見的數據,但表格的行還在。

『玖』 我是新手,在QT中 qtablewidget我選中了一行,此時它屬於高亮狀態,用什麼函數讀取高亮處數據 急!謝

//是一行中所有的單元格嗎?試試下面的代碼。。。
for(int i=0;i < m_pTable->columnCount();i++)
{
qDebug()<<(m_pTable->itemAt(m_pTable->currentRow(),i)->text())<<endl;
}

閱讀全文

與qtablewidget過濾數據相關的資料

熱點內容
水處理樹脂的再生 瀏覽:143
凈水時活性炭可以用什麼代替 瀏覽:152
溴水分離為什麼要用蒸餾 瀏覽:580
污水集中處理站 瀏覽:232
城市污水處理公司年終總結 瀏覽:601
賓館的廢水排水量 瀏覽:237
污水池護欄安裝多少錢一米 瀏覽:943
雨水收集回用系統品牌 瀏覽:847
有機樹脂類廢物主要危害成分 瀏覽:795
測量純水用什麼儀器測量 瀏覽:243
反滲透膜進口和國產價格差別 瀏覽:187
魚缸過濾設計圖紙 瀏覽:506
飲水機和花灑各什麼價 瀏覽:659
沉雨凈水是什麼意思 瀏覽:744
農村別墅屋頂用樹脂瓦選什麼顏色 瀏覽:790
廈門前場污水處理廠 瀏覽:634
springmvc多個過濾器 瀏覽:907
凈水器一g代表什麼 瀏覽:546
生物方法在污水處理中的應用 瀏覽:281
污水管過河走河底用什麼管 瀏覽:158