資源簡介
該資源參考“朝十晚八”,實現自定義檢索框,動態添加提示列表數據

代碼片段和文件信息
#include?“completetableview.h“
#include?
#include?
#include?
CompleteTableView::CompleteTableView(QStandardItemModel?*?model?QWidget?*parent)
????:?QTableView(parent)?currHovered(-1)
{
????m_pSourceModel?=?model;
}
CompleteTableView::~CompleteTableView()
{
}
void?CompleteTableView::SetMouseOver(int?row)
{
????if?(row?==?currHovered)
????{
????????return;
????}
????QAbstractItemModel?*?sortModel?=?model();
????if?(sortModel->rowCount()?<=?row)
????{
????????return;
????}
????for?(int?col?=?0;?col?columnCount();?col++)
????{
????????QModelIndex?index?=?sortModel->index(row?col);
????????if?(index.isValid())
????????{
????????????if?(QStandardItem?*?item?=?m_pSourceModel->itemFromIndex(index))
????????????{
????????????????item->setBackground(QBrush(QColor(43?92?151)));
????????????}
????????}
????}
????if?(currHovered?!=?-1)
????{
????????disableMouseOver();
????}
????currHovered?=?row;
}
void?CompleteTableView::disableMouseOver()
{
????QAbstractItemModel?*?sortModel?=?model();
????for?(int?col?=?0;?col?columnCount();?col++)
????{
????????QModelIndex?index?=?sortModel->index(currHovered?col);
????????if?(index.isValid())
????????{
????????????if?(QStandardItem?*?item?=?m_pSourceModel->itemFromIndex(index))
????????????{
????????????????item->setBackground(QBrush(QColor(60?69?77)));
????????????}
????????}
????}
}
void?CompleteTableView::enterEvent(?QEvent?*event?)
{
????setMouseTracking(?true?);
????QTableView::enterEvent(?event?);
}
void?CompleteTableView::mouseMoveEvent(?QMouseEvent?*event?)
{
????int?row?=?rowAt(event->pos().y());
????if?(row?!=?-1)
????{
????????QAbstractItemModel?*?sortModel?=?model();
????????for?(int?col?=?0;?col?columnCount();?col++)
????????{
????????????QModelIndex?index?=?sortModel->index(currHovered?col);
????????????if?(index.isValid())
????????????{
????????????????if?(QStandardItem?*?item?=?m_pSourceModel->itemFromIndex(index))
????????????????{
????????????????????item->setBackground(QBrush(QColor(43?92?151)));
????????????????}
????????????}
????????}
????}
????QTableView::mouseMoveEvent(event);
}
#include?“mainwindow.h“
void?CompleteTableView::mousePressEvent(QMouseEvent?*?event)
{
????int?clickRow?=?rowAt(event->pos().y());
????if?(clickRow?!=?-1)
????{
????????QAbstractItemModel?*?sortModel?=?model();
????????if(?sortModel?)
????????{
????????????QModelIndex?index?=?sortModel->index(clickRow?0);
????????????if?(index.isValid())
????????????{
????????????????if?(QStandardItem?*?item?=?m_pSourceModel->itemFromIndex(index))
????????????????{
????????????????????SelectPatientModel?*pSelectModel?=?qobject_cast(m_pSourceModel);
????????????????????emit?sig_searchInfoSelected(?pSelectModel->data(index?UserRole_RowData).value()?);
????????????????}
????????????}
??????
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2018-06-14?14:24??completerTest\
?????文件?????????532??2018-06-14?13:50??completerTest\completerTest.pro
?????文件???????33611??2018-06-14?11:23??completerTest\completerTest.pro.user
?????文件????????3200??2018-06-14?14:05??completerTest\completetableview.cpp
?????文件????????1017??2018-06-14?14:01??completerTest\completetableview.h
?????文件??????????21??2018-06-14?13:50??completerTest\global.cpp
?????文件?????????125??2018-06-14?13:58??completerTest\global.h
?????文件?????????183??2018-06-05?16:12??completerTest\main.cpp
?????文件????????7633??2018-06-14?14:24??completerTest\mainwindow.cpp
?????文件????????2571??2018-06-14?13:59??completerTest\mainwindow.h
?????文件????????1299??2018-06-14?09:08??completerTest\mainwindow.ui
?????文件?????????876??2018-06-14?11:23??completerTest\StockItemDelegate.cpp
?????文件?????????928??2018-06-14?11:46??completerTest\StockItemDelegate.h
- 上一篇:Linux下利用TCPsocket傳輸圖片
- 下一篇:modbus dll
評論
共有 條評論