Я написал код и мне нужно скопировать выбранные строки в Qt C ++
мой OTPWindow.cpp
файл имеет
эта функция
SafeOTPWindow::on_tblCopy_clicked()
{
QClipboard* clip = qApp->clipboard();
clip->setText(ui->tblLog->text());
}
мой OTPWindow.h
файл имеет
private slots:
void on_tblCopy_clicked();
Я получаю ошибку
текст не является членом Qtableview
, Как я могу решить эту ошибку
Мне нужно скопировать текстовое содержимое из tableview
которые в строках внутри Какое свойство я должен установить в .cpp файле. Вот tblLog
мой tableview
,
Чтобы добиться того, чего вы хотите, это получить список выбранных элементов и объединить текст этих элементов, как показано ниже:
QStandardItemModel *model = qobject_cast<QStandardItemModel*>(ui->tableView->model());
if (!model) //Check if listview has a model
return;
QModelIndexList indexlist = ui->tableView->selectionModel()->selectedIndexes();
QString str;
int lastrow = -1;
foreach (const QModelIndex &index, indexlist)
{
if (lastrow >= 0)
{
if (index.row() == lastrow)
str.append(Qt::Key_Space); //Add space between items in same line
else
str.append("\n"); //Add break line if entering in a new line
}
str.append(model->index(index.row(), index.column()).data().toString());
lastrow = index.row();
}
str.append("\n"); //Add break line to the end of the string
QClipboard* clipboard = QApplication::clipboard();
clipboard->setText(str); //Copy the string to clipboard
Других решений пока нет …