在QabStretctTableModel项的QTableView中选择
我创建了在QabStretctTableModel项的QTableView中选择,qt,tableview,selection,Qt,Tableview,Selection,我创建了TableView(通过从QTableView)和Model(通过从QAbstractTableModel)并实现了我所需的所有功能,但现在我必须添加奇怪的功能-这些对象(存储在模型中)必须能够使表视图选择“它们的”行 它来自这样一个事实,即始终存在与它们相关的图形对象,每当我单击某个对象上的场景时,我都希望将焦点放在其在表视图中的表示上。我可以这样做吗?您的模型可以在每次更改选择时发出信号。大概是这样的: void CMyModel::sigUpdateSelection(const
TableView
(通过从QTableView
)和Model
(通过从QAbstractTableModel
)并实现了我所需的所有功能,但现在我必须添加奇怪的功能-这些对象(存储在模型中)必须能够使表视图选择“它们的”行
它来自这样一个事实,即始终存在与它们相关的图形对象,每当我单击某个对象上的场景时,我都希望将焦点放在其在表视图中的表示上。我可以这样做吗?您的模型可以在每次更改选择时发出信号。大概是这样的:
void CMyModel::sigUpdateSelection(const QItemSelection & selection, QItemSelectionModel::SelectionFlags flags);
然后您可以将此信号连接到表视图的QItemSelectionModel。以下是获取选择模型的方式:
QTableView* view = new QTableView(parent);
QItemSelectionModel* selectionModel = view->selectionModel();
QItemSelectionModel
有一个插槽select()
。这是连接信号的地方
这就是你将如何发射:
// Add to current selection
emit sigUpdateSelection(QItemSelection(indexLeft, indexRight), QItemSelectionModel::Select);
// Clear current selection and select new one
emit sigUpdateSelection(QItemSelection(indexLeft, indexRight), QItemSelectionModel::ClearAndSelect);
您可以在每次想要更改选择时实现一个发出的信号。大概是这样的:
void CMyModel::sigUpdateSelection(const QItemSelection & selection, QItemSelectionModel::SelectionFlags flags);
然后您可以将此信号连接到表视图的QItemSelectionModel。以下是获取选择模型的方式:
QTableView* view = new QTableView(parent);
QItemSelectionModel* selectionModel = view->selectionModel();
QItemSelectionModel
有一个插槽select()
。这是连接信号的地方
这就是你将如何发射:
// Add to current selection
emit sigUpdateSelection(QItemSelection(indexLeft, indexRight), QItemSelectionModel::Select);
// Clear current selection and select new one
emit sigUpdateSelection(QItemSelection(indexLeft, indexRight), QItemSelectionModel::ClearAndSelect);
您可以通过模拟单击或双击来关注该行。也许它能起作用?但如何?我只有指向表项的指针(模型中包含的单个项,视图使用mdoel作为源)-我如何从这里到那里?哦,是的,我读的是QTableWidget而不是QTableView。我从来没有使用过QTableView。你可以通过模拟点击或双击来聚焦线条。也许它能起作用?但如何?我只有指向表项的指针(模型中包含的单个项,视图使用mdoel作为源)-我如何从这里到那里?哦,是的,我读的是QTableWidget而不是QTableView。我从未使用过QTableView。