CustomTableWidget 클래스 생성
void CustomTableWidget::keyPressEvent(QKeyEvent *event)
{
QModelIndexList selectedModel=selectedIndexes(); //cell selected
qSort(selectedModel.begin(),selectedModel.end()); //ASC sort
if(event->matches(QKeySequence::Delete)) //del key
{
foreach (QModelIndex index, selectedModel)
{
QTableWidgetItem *delItem=item(index.row(),index.column());
if(delItem!=NULL)
{
item(index.row(),index.column())->setText("");
}
}
}
if(event->matches(QKeySequence::Copy)) //ctrl + c
{
if(selectedModel.isEmpty())
{
return;
}
copyIndexList=selectedModel;
}
if(event->matches(QKeySequence::Paste)) //ctrl + v
{
if(!copyIndexList.isEmpty())
{
if(selectedModel.isEmpty())
{
return;
}
int startRow=selectedModel.first().row();
int startColumn=selectedModel.first().column();
int copyListFirstRow=copyIndexList.first().row();
int copyListFirstColumn=copyIndexList.first().column();
foreach (QModelIndex index, copyIndexList)
{
if(copyListFirstRow!=index.row())
{
startRow+=index.row()-copyListFirstRow;
copyListFirstRow=index.row();
}
if(copyListFirstColumn!=index.column())
{
startColumn+=index.column()-copyListFirstColumn;
copyListFirstColumn=index.column();
}
setItem(startRow,startColumn,new QTableWidgetItem(item(index.row(),index.col umn())->text()));
}
}
}
}
'QT' 카테고리의 다른 글
Qt QTableWidget과 Excel을 이용하여, copy & paste 방법 (0) | 2018.08.17 |
---|---|
Qt QProcess와 tar을 이용한 압축 방법 (0) | 2018.08.14 |
Qt 파일의 체크섬(CheckSum) 확인방법 (0) | 2018.08.09 |
Qt QTreeWidget에 Check 추가 방법 (0) | 2018.07.27 |
QTreeWidget에 Combobox 추가,삭제 방법 (0) | 2018.07.27 |