qt Qtableview 设置了表格样式后 如果没有选中的焦点,焦点会自动移动到表格的右下角
时间: 2023-06-26 13:08:57 浏览: 358
这可能是由于表格的焦点策略(FocusPolicy)设置不当所导致的。默认情况下,QTableView的焦点策略是Qt::WheelFocus,这意味着当鼠标滚动到表格上时,表格会自动获取焦点。为了解决这个问题,你可以将焦点策略设置为Qt::NoFocus,即表格不会自动获取焦点。
你可以使用以下代码来设置QTableView的焦点策略:
```cpp
tableView->setFocusPolicy(Qt::NoFocus);
```
这样,即使没有选中的单元格,焦点也不会自动移动到表格的右下角。
相关问题
Qtableview 设置了表格样式后 如果没有选中的焦点,焦点会自动移动到表格的右下角
这可能是由于没有设置表格的选中模式导致的。可以尝试使用以下代码设置表格的选中模式:
```objc
tableView.selectionHighlightStyle = NSTableViewSelectionHighlightStyleRegular;
```
如果您还想要更改表格的选中颜色,可以使用以下代码:
```objc
tableView.highlightColor = [NSColor blueColor];
```
这些代码可以在 `viewDidLoad` 方法中调用,以确保表格在加载时正确设置选中模式和颜色。
QT Qtableview 点击两次单元格后 表格的焦点会自动移动到最后一个是什么原因
在默认情况下,当你在QTableView中编辑单元格时,会将单元格的编辑器置于单元格中,此时单元格会失去焦点。如果你不点击任何其他单元格,那么焦点就会被自动移动到最后一个单元格(也就是表格的最后一个单元格)。
这种行为是由QTableView的默认设置决定的,你可以通过设置QTableView的editTriggers属性来改变它的行为。例如,如果你将editTriggers设置为QAbstractItemView::NoEditTriggers,那么当你点击单元格时,焦点就不会自动移动到最后一个单元格。你也可以使用其他的editTriggers选项来实现你想要的行为。
阅读全文