저는 PyQt를 사용하여 프로그램을 작성하고 있습니다. QTableView를 사용하여 데이터를 표시합니다.
문제는 셀의 편집 (예 : F2 누름)을 트리거 할 때 셀의 텍스트가 모두 기본적으로 선택 (강조 표시)되어 있습니다. 텍스트를 수정하고 모두 다시 작성하지 않으므로 편리하지 않습니다.
그래서 동작을 변경하는 기능이 있는지 알고 싶습니다.
감사합니다qtableview 텍스트 편집
3
A
답변
4
이 간단한 방법이지만, 당신이 QLineEdit를 만들어 자신의 항목 대리자를 쓸 수 있는지 확실하지. 모델 데이터로 편집기를 업데이트 할 때 텍스트의 선택을 취소하고 커서를 처음으로 이동할 수 있습니다. 대리인 (나는 그래서 그것을 테스트 할 수 없습니다 지금 당장 사용할 수있는 Qt는 설치되어 있지 않지만, 아이디어 작동합니다)이 같은 것입니다 :
QWidget * MyDelegate::createEditor(QWidget *parent,
const QStyleOptionViewItem & option,
const QModelIndex & index) const
{
// Just creates a plain line edit.
QLineEdit *editor = new QLineEdit(parent);
return editor;
}
void MyDelegate::setEditorData(QWidget *editor,
const QModelIndex &index) const
{
// Fetch current data from model.
QString value = index.model()->data(index, Qt::EditRole).toString();
// Set line edit text to current data.
QLineEdit * lineEdit = static_cast<QLineEdit*>(editor);
lineEdit->setText(value);
// Deselect text.
lineEdit->deselect();
// Move the cursor to the beginning.
lineEdit->setCursorPosition(0);
}
void MyDelegate::setModelData(QWidget *editor,
QAbstractItemModel *model,
const QModelIndex &index) const
{
// Set the model data with the text in line edit.
QLineEdit * lineEdit = static_cast<QLineEdit*>(editor);
QString value = lineEdit.text();
model->setData(index, value, Qt::EditRole);
}
당신이 이전에 대표단을 사용하지 않은 경우 Qt 문서에는 유용한 example이 있습니다.
1
사용자 정의 편집기 위젯을 사용하려면 해당 필드에 편집에 사용되는 위젯을 대체 할 수 있도록가 대리자를 구현해야합니다.
QTableView는 기본적으로 QTextEdit을 사용하며 하위 클래스로 분류하여 동작을 변경할 수 있습니다. 가장 좋은 추측은 포커스를받을 때의 동작을 변경하기 위해 편집기 위젯에서 포커스 정책 (focusInEvent [1])을 조작해야한다는 것입니다.
관련 문제
- 1. 편집 QTableView 셀 값
- 2. QTableView 편집 방법
- 3. QTableView 셀을 편집 할 때 초기 텍스트 설정
- 4. QTableView - 사용자가 셀을 편집 할 수 없음
- 5. QTableView 상단에 텍스트 줄이 표시되는 방법이 있습니까?
- 6. QTableView 셀 텍스트 정렬 - 반복하지 않고 변경
- 7. , 나는 QTableView</strong><strong>에서 편집 가능한 열을 설정할 QTableView
- 8. QTableView selectionChanged
- 9. PyTt4에서 선택된 요소 QTableView
- 10. QTableView 행에 색상을 설정하십시오.
- 11. Qt & SqlAlchemy - Qtableview
- 12. 인쇄 Pyside QTableView
- 13. QTableView, QStandardItemModel 및 신호
- 14. QTableView/QSqlTableModel에서 항목 드래그
- 15. QTableView 문제가 selectionModel()
- 16. PyQt4 정렬 QTableView 항목
- 17. PyQt QTableView with QComboBox
- 18. QTableView 정렬 신호?
- 19. Qtableview 크기 조정
- 20. pyqt 인쇄 미리보기 QTableView
- 21. 십진법 자릿수 QTableView 위임자
- 22. QTableView - 헤더 정렬
- 23. QTableView 페이지 번호
- 24. UITableView에서 셀 텍스트 편집
- 25. 편집 XAML 텍스트 상자되지는
- 26. 텍스트 편집 질문
- 27. 편집 동적 텍스트 HTML
- 28. Android에서 편집 텍스트
- 29. ListView의 텍스트 편집?
- 30. 텍스트 편집 AS3
고맙습니다. 많은 도움이됩니다. –